@substrate/api-sidecar 12.4.3 → 13.1.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 (117) hide show
  1. package/README.md +6 -6
  2. package/build/package.json +6 -6
  3. package/build/src/SidecarConfig.js +1 -1
  4. package/build/src/SidecarConfig.js.map +1 -1
  5. package/build/src/Specs.js +3 -3
  6. package/build/src/Specs.js.map +1 -1
  7. package/build/src/chains-config/acalaControllers.js +3 -2
  8. package/build/src/chains-config/acalaControllers.js.map +1 -1
  9. package/build/src/chains-config/astarControllers.js +3 -2
  10. package/build/src/chains-config/astarControllers.js.map +1 -1
  11. package/build/src/chains-config/bifrostControllers.js +3 -2
  12. package/build/src/chains-config/bifrostControllers.js.map +1 -1
  13. package/build/src/chains-config/bifrostPolkadotControllers.d.ts +5 -0
  14. package/build/src/chains-config/bifrostPolkadotControllers.js +49 -0
  15. package/build/src/chains-config/bifrostPolkadotControllers.js.map +1 -0
  16. package/build/src/chains-config/cache/QueryFeeDetailsCache.d.ts +55 -0
  17. package/build/src/chains-config/cache/QueryFeeDetailsCache.js +80 -0
  18. package/build/src/chains-config/cache/QueryFeeDetailsCache.js.map +1 -0
  19. package/build/src/chains-config/cache/QueryFeeDetailsCache.spec.d.ts +1 -0
  20. package/build/src/chains-config/cache/QueryFeeDetailsCache.spec.js +47 -0
  21. package/build/src/chains-config/cache/QueryFeeDetailsCache.spec.js.map +1 -0
  22. package/build/src/chains-config/cache/index.d.ts +2 -0
  23. package/build/src/chains-config/cache/index.js +19 -0
  24. package/build/src/chains-config/cache/index.js.map +1 -0
  25. package/build/src/chains-config/calamariControllers.js +3 -2
  26. package/build/src/chains-config/calamariControllers.js.map +1 -1
  27. package/build/src/chains-config/crustControllers.js +3 -2
  28. package/build/src/chains-config/crustControllers.js.map +1 -1
  29. package/build/src/chains-config/defaultControllers.js +3 -2
  30. package/build/src/chains-config/defaultControllers.js.map +1 -1
  31. package/build/src/chains-config/dockMainnetControllers.js +3 -2
  32. package/build/src/chains-config/dockMainnetControllers.js.map +1 -1
  33. package/build/src/chains-config/dockPoSMainnetControllers.js +3 -2
  34. package/build/src/chains-config/dockPoSMainnetControllers.js.map +1 -1
  35. package/build/src/chains-config/dockPoSTestnetControllers.js +3 -2
  36. package/build/src/chains-config/dockPoSTestnetControllers.js.map +1 -1
  37. package/build/src/chains-config/heikoControllers.js +3 -2
  38. package/build/src/chains-config/heikoControllers.js.map +1 -1
  39. package/build/src/chains-config/index.js +2 -0
  40. package/build/src/chains-config/index.js.map +1 -1
  41. package/build/src/chains-config/karuraControllers.js +3 -2
  42. package/build/src/chains-config/karuraControllers.js.map +1 -1
  43. package/build/src/chains-config/kiltControllers.js +3 -2
  44. package/build/src/chains-config/kiltControllers.js.map +1 -1
  45. package/build/src/chains-config/kulupuControllers.js +3 -2
  46. package/build/src/chains-config/kulupuControllers.js.map +1 -1
  47. package/build/src/chains-config/kusamaControllers.js +3 -2
  48. package/build/src/chains-config/kusamaControllers.js.map +1 -1
  49. package/build/src/chains-config/mandalaControllers.js +3 -2
  50. package/build/src/chains-config/mandalaControllers.js.map +1 -1
  51. package/build/src/chains-config/mantaControllers.js +3 -2
  52. package/build/src/chains-config/mantaControllers.js.map +1 -1
  53. package/build/src/chains-config/parallelControllers.js +3 -2
  54. package/build/src/chains-config/parallelControllers.js.map +1 -1
  55. package/build/src/chains-config/polkadotControllers.js +3 -2
  56. package/build/src/chains-config/polkadotControllers.js.map +1 -1
  57. package/build/src/chains-config/polymeshControllers.js +3 -2
  58. package/build/src/chains-config/polymeshControllers.js.map +1 -1
  59. package/build/src/chains-config/shidenControllers.js +3 -2
  60. package/build/src/chains-config/shidenControllers.js.map +1 -1
  61. package/build/src/chains-config/soraControllers.js +3 -2
  62. package/build/src/chains-config/soraControllers.js.map +1 -1
  63. package/build/src/chains-config/statemineControllers.js +3 -2
  64. package/build/src/chains-config/statemineControllers.js.map +1 -1
  65. package/build/src/chains-config/statemintControllers.js +3 -2
  66. package/build/src/chains-config/statemintControllers.js.map +1 -1
  67. package/build/src/chains-config/westendControllers.js +3 -2
  68. package/build/src/chains-config/westendControllers.js.map +1 -1
  69. package/build/src/controllers/accounts/AccountsBalanceInfoController.js +1 -1
  70. package/build/src/controllers/accounts/AccountsBalanceInfoController.js.map +1 -1
  71. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js +1 -1
  72. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js.map +1 -1
  73. package/build/src/controllers/blocks/BlocksController.d.ts +1 -8
  74. package/build/src/controllers/blocks/BlocksController.js +6 -10
  75. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  76. package/build/src/controllers/blocks/BlocksExtrinsicsController.d.ts +1 -7
  77. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +2 -4
  78. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  79. package/build/src/controllers/blocks/BlocksTraceController.js +2 -0
  80. package/build/src/controllers/blocks/BlocksTraceController.js.map +1 -1
  81. package/build/src/controllers/node/NodeTransactionPoolController.js +2 -0
  82. package/build/src/controllers/node/NodeTransactionPoolController.js.map +1 -1
  83. package/build/src/controllers/pallets/PalletsStorageController.js +2 -1
  84. package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
  85. package/build/src/controllers/paras/ParasController.js +2 -0
  86. package/build/src/controllers/paras/ParasController.js.map +1 -1
  87. package/build/src/controllers/transaction/TransactionMaterialController.js +2 -0
  88. package/build/src/controllers/transaction/TransactionMaterialController.js.map +1 -1
  89. package/build/src/main.js +10 -9
  90. package/build/src/main.js.map +1 -1
  91. package/build/src/middleware/validate/index.d.ts +1 -0
  92. package/build/src/middleware/validate/index.js +3 -1
  93. package/build/src/middleware/validate/index.js.map +1 -1
  94. package/build/src/middleware/validate/util.d.ts +18 -0
  95. package/build/src/middleware/validate/util.js +51 -0
  96. package/build/src/middleware/validate/util.js.map +1 -0
  97. package/build/src/middleware/validate/validateAddressMiddleware.spec.js +23 -52
  98. package/build/src/middleware/validate/validateAddressMiddleware.spec.js.map +1 -1
  99. package/build/src/middleware/validate/validateBooleanMiddleware.d.ts +7 -0
  100. package/build/src/middleware/validate/validateBooleanMiddleware.js +45 -0
  101. package/build/src/middleware/validate/validateBooleanMiddleware.js.map +1 -0
  102. package/build/src/middleware/validate/validateBooleanMiddleware.spec.d.ts +1 -0
  103. package/build/src/middleware/validate/validateBooleanMiddleware.spec.js +53 -0
  104. package/build/src/middleware/validate/validateBooleanMiddleware.spec.js.map +1 -0
  105. package/build/src/services/blocks/BlocksService.d.ts +29 -50
  106. package/build/src/services/blocks/BlocksService.js +89 -153
  107. package/build/src/services/blocks/BlocksService.js.map +1 -1
  108. package/build/src/services/blocks/BlocksService.spec.js +19 -83
  109. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  110. package/build/src/services/paras/ParasService.js +1 -1
  111. package/build/src/services/paras/ParasService.js.map +1 -1
  112. package/build/src/types/chains-config/ControllerConfig.d.ts +20 -8
  113. package/build/src/types/sidecar-config/CONFIG.d.ts +1 -1
  114. package/build/src/types/sidecar-config/CONFIG.js +1 -1
  115. package/build/src/types/sidecar-config/CONFIG.js.map +1 -1
  116. package/build/src/types/sidecar-config/SidecarConfig.d.ts +1 -1
  117. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"validateAddressMiddleware.spec.js","sourceRoot":"","sources":["../../../../src/middleware/validate/validateAddressMiddleware.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateAddressMiddleware.spec.js","sourceRoot":"","sources":["../../../../src/middleware/validate/validateAddressMiddleware.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;;AAGxE,6CAAyC;AAEzC,iCAAsD;AACtD,2EAAwE;AAExE,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAC1C,IAAA,uBAAgB,EACf,sBAAsB,EACtB;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;SACX;KACqB,EACvB,qDAAyB,CACzB,CAAC;IAEF,IAAA,uBAAgB,EACf,2BAA2B,EAC3B;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,kDAAkD;SAC3D;KACqB,EACvB,qDAAyB,CACzB,CAAC;IAEF,IAAA,uBAAgB,EACf,wBAAwB,EACxB;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,iDAAiD;SAC1D;KACqB,EACvB,qDAAyB,CACzB,CAAC;IAEF,IAAA,uBAAgB,EACf,wBAAwB,EACxB;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,kDAAkD;SAC3D;KACqB,EACvB,qDAAyB,CACzB,CAAC;IAEF,IAAA,uBAAgB,EACf,0BAA0B,EAC1B;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,kDAAkD;SAC3D;KACqB,EACvB,qDAAyB,CACzB,CAAC;IAEF,IAAA,uBAAgB,EACf,0BAA0B,EAC1B;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,iDAAiD;SAC1D;KACqB,EACvB,qDAAyB,CACzB,CAAC;IAEF,IAAA,uBAAgB,EACf,sBAAsB,EACtB;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,4CAA4C;SACrD;KACqB,EACvB,qDAAyB,CACzB,CAAC;IAEF,IAAA,iBAAU,EACT,8CAA8C,EAC9C;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,kDAAkD;SAC3D;KACqB,EACvB,IAAI,wBAAU,CAAC,gDAAgD,CAAC,EAChE,qDAAyB,CACzB,CAAC;IAEF,IAAA,iBAAU,EACT,+BAA+B,EAC/B;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,gDAAgD;SACzD;KACqB,EACvB,IAAI,wBAAU,CAAC,wBAAwB,CAAC,EACxC,qDAAyB,CACzB,CAAC;IAEF,IAAA,iBAAU,EACT,kDAAkD,EAClD;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,kDAAkD;SAC3D;KACqB,EACvB,IAAI,wBAAU,CAAC,kCAAkC,CAAC,EAClD,qDAAyB,CACzB,CAAC;IAEF,IAAA,iBAAU,EACT,oBAAoB,EACpB;QACC,MAAM,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,OAAO;SAChB;KACqB,EACvB,IAAI,wBAAU,CAAC,gDAAgD,CAAC,EAChE,qDAAyB,CACzB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { RequestHandler } from 'express';
2
+ /**
3
+ * Validate that the given query params that are expected to be booleans are correct.
4
+ *
5
+ * @param queryParams An array of queryParams to check for. These are passed in at the controller level.
6
+ */
7
+ export declare const validateBooleanMiddleware: (queryParams: string[]) => RequestHandler;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ // Copyright 2017-2022 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.validateBooleanMiddleware = void 0;
19
+ const http_errors_1 = require("http-errors");
20
+ /**
21
+ * Validate that the given query params that are expected to be booleans are correct.
22
+ *
23
+ * @param queryParams An array of queryParams to check for. These are passed in at the controller level.
24
+ */
25
+ const validateBooleanMiddleware = (queryParams) => {
26
+ return (req, _res, next) => {
27
+ const errQueryParams = [];
28
+ for (const key of queryParams) {
29
+ if (req.query[key]) {
30
+ const queryParamVal = typeof req.query[key] === 'string'
31
+ ? req.query[key].toLowerCase()
32
+ : '';
33
+ if (!(queryParamVal === 'true' || queryParamVal === 'false')) {
34
+ errQueryParams.push(`Query parameter: ${key} has an invalid boolean value of ${req.query[key]}`);
35
+ }
36
+ }
37
+ }
38
+ if (errQueryParams.length > 0) {
39
+ return next(new http_errors_1.BadRequest(errQueryParams.join(' - ')));
40
+ }
41
+ return next();
42
+ };
43
+ };
44
+ exports.validateBooleanMiddleware = validateBooleanMiddleware;
45
+ //# sourceMappingURL=validateBooleanMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateBooleanMiddleware.js","sourceRoot":"","sources":["../../../../src/middleware/validate/validateBooleanMiddleware.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;AAGxE,6CAAyC;AAEzC;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,CACxC,WAAqB,EACJ,EAAE;IACnB,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;YAC9B,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACnB,MAAM,aAAa,GAClB,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ;oBACjC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC,WAAW,EAAE;oBAC1C,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,CAAC,CAAC,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,OAAO,CAAC,EAAE;oBAC7D,cAAc,CAAC,IAAI,CAClB,oBAAoB,GAAG,oCACtB,GAAG,CAAC,KAAK,CAAC,GAAG,CACd,EAAE,CACF,CAAC;iBACF;aACD;SACD;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,IAAI,wBAAU,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxD;QAED,OAAO,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;AACH,CAAC,CAAC;AA5BW,QAAA,yBAAyB,6BA4BpC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ // Copyright 2017-2022 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
+ const http_errors_1 = require("http-errors");
19
+ const util_1 = require("./util");
20
+ const validateBooleanMiddleware_1 = require("./validateBooleanMiddleware");
21
+ describe('validaeBooleanMiddleware', () => {
22
+ (0, util_1.doesNotErrorWith)('no query params in path', {
23
+ query: {},
24
+ }, (0, validateBooleanMiddleware_1.validateBooleanMiddleware)([]));
25
+ (0, util_1.doesNotErrorWith)('valid true and false query params', {
26
+ query: {
27
+ finalized: 'true',
28
+ eventDocs: 'false',
29
+ },
30
+ }, (0, validateBooleanMiddleware_1.validateBooleanMiddleware)(['finalized', 'eventDocs']));
31
+ (0, util_1.doesNotErrorWith)('Non specified invalid query params', {
32
+ query: {
33
+ invalid: 'truee',
34
+ },
35
+ }, (0, validateBooleanMiddleware_1.validateBooleanMiddleware)([]));
36
+ (0, util_1.errorsWith)('an invalid true query param', {
37
+ query: {
38
+ finalized: 'truee',
39
+ },
40
+ }, new http_errors_1.BadRequest('Query parameter: finalized has an invalid boolean value of truee'), (0, validateBooleanMiddleware_1.validateBooleanMiddleware)(['finalized']));
41
+ (0, util_1.errorsWith)('an invalid false query param', {
42
+ query: {
43
+ finalized: 'falsee',
44
+ },
45
+ }, new http_errors_1.BadRequest('Query parameter: finalized has an invalid boolean value of falsee'), (0, validateBooleanMiddleware_1.validateBooleanMiddleware)(['finalized']));
46
+ (0, util_1.errorsWith)('multiple invalid query params', {
47
+ query: {
48
+ finalized: 'notTrue',
49
+ eventDocs: 'notFalse',
50
+ },
51
+ }, new http_errors_1.BadRequest('Query parameter: finalized has an invalid boolean value of notTrue - Query parameter: eventDocs has an invalid boolean value of notFalse'), (0, validateBooleanMiddleware_1.validateBooleanMiddleware)(['finalized', 'eventDocs']));
52
+ });
53
+ //# sourceMappingURL=validateBooleanMiddleware.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateBooleanMiddleware.spec.js","sourceRoot":"","sources":["../../../../src/middleware/validate/validateBooleanMiddleware.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;;AAGxE,6CAAyC;AAEzC,iCAAsD;AACtD,2EAAwE;AAExE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACzC,IAAA,uBAAgB,EACf,yBAAyB,EACzB;QACC,KAAK,EAAE,EAAE;KACa,EACvB,IAAA,qDAAyB,EAAC,EAAE,CAAC,CAC7B,CAAC;IAEF,IAAA,uBAAgB,EACf,mCAAmC,EACnC;QACC,KAAK,EAAE;YACN,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,OAAO;SAClB;KACqB,EACvB,IAAA,qDAAyB,EAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CACrD,CAAC;IAEF,IAAA,uBAAgB,EACf,oCAAoC,EACpC;QACC,KAAK,EAAE;YACN,OAAO,EAAE,OAAO;SAChB;KACqB,EACvB,IAAA,qDAAyB,EAAC,EAAE,CAAC,CAC7B,CAAC;IAEF,IAAA,iBAAU,EACT,6BAA6B,EAC7B;QACC,KAAK,EAAE;YACN,SAAS,EAAE,OAAO;SAClB;KACqB,EACvB,IAAI,wBAAU,CACb,kEAAkE,CAClE,EACD,IAAA,qDAAyB,EAAC,CAAC,WAAW,CAAC,CAAC,CACxC,CAAC;IAEF,IAAA,iBAAU,EACT,8BAA8B,EAC9B;QACC,KAAK,EAAE;YACN,SAAS,EAAE,QAAQ;SACnB;KACqB,EACvB,IAAI,wBAAU,CACb,mEAAmE,CACnE,EACD,IAAA,qDAAyB,EAAC,CAAC,WAAW,CAAC,CAAC,CACxC,CAAC;IAEF,IAAA,iBAAU,EACT,+BAA+B,EAC/B;QACC,KAAK,EAAE;YACN,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,UAAU;SACrB;KACqB,EACvB,IAAI,wBAAU,CACb,0IAA0I,CAC1I,EACD,IAAA,qDAAyB,EAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CACrD,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { ApiPromise } from '@polkadot/api';
2
2
  import { ApiDecoration } from '@polkadot/api/types';
3
3
  import { BlockHash, Header } from '@polkadot/types/interfaces';
4
4
  import LRU from 'lru-cache';
5
+ import { QueryFeeDetailsCache } from '../../chains-config/cache';
5
6
  import { IBlock, IExtrinsicIndex } from '../../types/responses';
6
7
  import { IOption } from '../../types/util';
7
8
  import { AbstractService } from '../AbstractService';
@@ -19,19 +20,44 @@ interface FetchBlockOptions {
19
20
  checkFinalized: boolean;
20
21
  queryFinalizedHead: boolean;
21
22
  omitFinalizedTag: boolean;
22
- getFeeByEvent: boolean;
23
23
  }
24
24
  export declare class BlocksService extends AbstractService {
25
25
  private minCalcFeeRuntime;
26
26
  private blockStore;
27
- constructor(api: ApiPromise, minCalcFeeRuntime: IOption<number>, blockStore: LRU<string, IBlock>);
27
+ private hasQueryFeeApi;
28
+ constructor(api: ApiPromise, minCalcFeeRuntime: IOption<number>, blockStore: LRU<string, IBlock>, hasQueryFeeApi: QueryFeeDetailsCache);
28
29
  /**
29
30
  * Fetch a block augmented with derived values.
30
31
  *
31
32
  * @param hash `BlockHash` of the block to fetch.
32
33
  * @param FetchBlockOptions options for additonal information.
33
34
  */
34
- fetchBlock(hash: BlockHash, historicApi: ApiDecoration<'promise'>, { eventDocs, extrinsicDocs, checkFinalized, queryFinalizedHead, omitFinalizedTag, getFeeByEvent, }: FetchBlockOptions): Promise<IBlock>;
35
+ fetchBlock(hash: BlockHash, historicApi: ApiDecoration<'promise'>, { eventDocs, extrinsicDocs, checkFinalized, queryFinalizedHead, omitFinalizedTag, }: FetchBlockOptions): Promise<IBlock>;
36
+ /**
37
+ * Fetch `payment_queryFeeDetails`.
38
+ *
39
+ * @param extHex
40
+ * @param previousBlockHash
41
+ * @param extrinsicSuccessWeight
42
+ * @param estWeight
43
+ */
44
+ private fetchQueryFeeDetails;
45
+ /**
46
+ * Retrieve the blockHash for the previous block to the one getting queried.
47
+ * If the block is the geneisis hash it will return the same blockHash.
48
+ *
49
+ * @param blockNumber The blockId being queried
50
+ */
51
+ private fetchPreviousBlockHash;
52
+ /**
53
+ * Calculate the partialFee for an extrinsic. This uses `calc_partial_fee` from `@substrate/calc`.
54
+ * Please reference the rust code in `@substrate/calc` too see docs on the algorithm.
55
+ *
56
+ * @param extrinsicSuccessWeight
57
+ * @param estWeight
58
+ * @param inclusionFee
59
+ */
60
+ private calcPartialFee;
35
61
  /**
36
62
  * Return the header of a block
37
63
  *
@@ -68,53 +94,6 @@ export declare class BlocksService extends AbstractService {
68
94
  * @param historicApi ApiDecoration to use for the query
69
95
  */
70
96
  private fetchEvents;
71
- /**
72
- * This will check whether we should query the fee by `payment::queryInfo`
73
- * or by an extrinsics events.
74
- *
75
- * @param events The events to search through for a partialFee
76
- * @param extrinsicHex Hex of the given extrinsic
77
- * @param hash Blockhash we are querying
78
- * @param getFeeByEvent `FeeByEvent` query parameter
79
- */
80
- private getPartialFeeInfo;
81
- /**
82
- * This searches through an extrinsics given events to see if there is a partialFee
83
- * within the data. If the estimated partialFee is within a given difference of the
84
- * found fee within the data than we return that result.
85
- *
86
- * The order of the events we search through are:
87
- * 1.Balances::Event::Withdraw
88
- * 2.Treasury::Event::Deposit
89
- * 3.Balances::Event::Deposit
90
- *
91
- * @param events The events to search through for a partialFee
92
- * @param partialFee Estimated partialFee given by `payment::queryInfo`
93
- */
94
- private getPartialFeeByEvents;
95
- /**
96
- * Find the corresponding events relevant to the passed in pallet, and method name.
97
- *
98
- * @param events The events to search through for a partialFee
99
- * @param palletName Pallet to search for
100
- * @param methodName Method to search for
101
- */
102
- private findEvent;
103
- /**
104
- * Sanitize a given fee
105
- *
106
- * @param fee
107
- */
108
- private sanitizeFee;
109
- /**
110
- * Checks to see if the value in an event is within 00.00001% accuracy of
111
- * the queried `partialFee` from `rpc::payment::queryInfo`.
112
- *
113
- * @param eventBalance Balance returned in the data of an event
114
- * @param partialFee Fee queried from `rpc::payment::queryInfo`
115
- * @param diff difference between the
116
- */
117
- private areFeesSimilar;
118
97
  /**
119
98
  * Checks to see if the current chain has the session module, then retrieve all
120
99
  * validators.
@@ -23,11 +23,11 @@ const util_1 = require("@polkadot/api-derive/type/util");
23
23
  const types_1 = require("@polkadot/types");
24
24
  const util_2 = require("@polkadot/util");
25
25
  const util_crypto_1 = require("@polkadot/util-crypto");
26
+ const calc_1 = require("@substrate/calc");
26
27
  const bn_js_1 = __importDefault(require("bn.js"));
27
28
  const http_errors_1 = require("http-errors");
28
29
  const responses_1 = require("../../types/responses");
29
30
  const util_3 = require("../../types/util");
30
- const compare_1 = require("../../util/integers/compare");
31
31
  const AbstractService_1 = require("../AbstractService");
32
32
  /**
33
33
  * Event methods that we check for.
@@ -36,14 +36,14 @@ var Event;
36
36
  (function (Event) {
37
37
  Event["success"] = "ExtrinsicSuccess";
38
38
  Event["failure"] = "ExtrinsicFailed";
39
- Event["withdraw"] = "Withdraw";
40
- Event["deposit"] = "Deposit";
39
+ Event["transactionPaidFee"] = "TransactionFeePaid";
41
40
  })(Event || (Event = {}));
42
41
  class BlocksService extends AbstractService_1.AbstractService {
43
- constructor(api, minCalcFeeRuntime, blockStore) {
42
+ constructor(api, minCalcFeeRuntime, blockStore, hasQueryFeeApi) {
44
43
  super(api);
45
44
  this.minCalcFeeRuntime = minCalcFeeRuntime;
46
45
  this.blockStore = blockStore;
46
+ this.hasQueryFeeApi = hasQueryFeeApi;
47
47
  }
48
48
  /**
49
49
  * Fetch a block augmented with derived values.
@@ -51,7 +51,7 @@ class BlocksService extends AbstractService_1.AbstractService {
51
51
  * @param hash `BlockHash` of the block to fetch.
52
52
  * @param FetchBlockOptions options for additonal information.
53
53
  */
54
- async fetchBlock(hash, historicApi, { eventDocs, extrinsicDocs, checkFinalized, queryFinalizedHead, omitFinalizedTag, getFeeByEvent, }) {
54
+ async fetchBlock(hash, historicApi, { eventDocs, extrinsicDocs, checkFinalized, queryFinalizedHead, omitFinalizedTag, }) {
55
55
  const { api } = this;
56
56
  // Before making any api calls check the cache if the queried block exists
57
57
  const isBlockCached = this.blockStore.get(hash.toString());
@@ -98,6 +98,7 @@ class BlocksService extends AbstractService_1.AbstractService {
98
98
  finalized,
99
99
  };
100
100
  }
101
+ const previousBlockHash = await this.fetchPreviousBlockHash(number);
101
102
  for (let idx = 0; idx < block.extrinsics.length; ++idx) {
102
103
  if (!extrinsics[idx].paysFee || !block.extrinsics[idx].isSigned) {
103
104
  continue;
@@ -130,7 +131,7 @@ class BlocksService extends AbstractService_1.AbstractService {
130
131
  };
131
132
  continue;
132
133
  }
133
- // both ExtrinsicSuccess and ExtrinsicFailed events have DispatchInfo
134
+ // Both ExtrinsicSuccess and ExtrinsicFailed events have DispatchInfo
134
135
  // types as their final arg
135
136
  const weightInfo = completedData[completedData.length - 1];
136
137
  if (!weightInfo.weight) {
@@ -145,18 +146,46 @@ class BlocksService extends AbstractService_1.AbstractService {
145
146
  };
146
147
  continue;
147
148
  }
148
- const { dispatchClass, partialFee, error } = await this.getPartialFeeInfo(extrinsics[idx].events, block.extrinsics[idx].toHex(), hash, getFeeByEvent, extrinsics[idx].tip);
149
- if (error) {
150
- extrinsics[idx].info = {
151
- error,
152
- };
153
- continue;
149
+ /**
150
+ * Grab the initial partialFee, and information required for calculating a partialFee
151
+ * if queryFeeDetails is available in the runtime.
152
+ */
153
+ const { class: dispatchClass, partialFee, weight, } = await api.rpc.payment.queryInfo(block.extrinsics[idx].toHex(), previousBlockHash);
154
+ const transactionPaidFeeEvent = xtEvents.find(({ method }) => (0, responses_1.isFrameMethod)(method) && method.method === Event.transactionPaidFee);
155
+ let finalPartialFee = partialFee.toString(), dispatchFeeType = 'preDispatch';
156
+ if (transactionPaidFeeEvent) {
157
+ finalPartialFee = transactionPaidFeeEvent.data[1].toString();
158
+ dispatchFeeType = 'fromEvent';
154
159
  }
155
- extrinsics[idx].info = api.createType('RuntimeDispatchInfo', {
160
+ else {
161
+ /**
162
+ * Call queryFeeDetails. It may not be available in the runtime and will
163
+ * error automatically when we try to call it. We cache the runtimes it will error so we
164
+ * don't try to call it again given a specVersion.
165
+ */
166
+ const doesQueryFeeDetailsExist = this.hasQueryFeeApi.hasQueryFeeDetails(specVersion.toNumber());
167
+ if (doesQueryFeeDetailsExist === 'available') {
168
+ finalPartialFee = await this.fetchQueryFeeDetails(block.extrinsics[idx].toHex(), previousBlockHash, weightInfo.weight, weight);
169
+ dispatchFeeType = 'postDispatch';
170
+ }
171
+ else if (doesQueryFeeDetailsExist === 'unknown') {
172
+ try {
173
+ finalPartialFee = await this.fetchQueryFeeDetails(block.extrinsics[idx].toHex(), previousBlockHash, weightInfo.weight, weight);
174
+ dispatchFeeType = 'postDispatch';
175
+ this.hasQueryFeeApi.setRegisterWithCall(specVersion.toNumber());
176
+ }
177
+ catch {
178
+ this.hasQueryFeeApi.setRegisterWithoutCall(specVersion.toNumber());
179
+ console.warn('The error above is automatically emitted from polkadot-js, and can be ignored.');
180
+ }
181
+ }
182
+ }
183
+ extrinsics[idx].info = {
156
184
  weight: weightInfo.weight,
157
185
  class: dispatchClass,
158
- partialFee: partialFee,
159
- });
186
+ partialFee: api.registry.createType('Balance', finalPartialFee),
187
+ kind: dispatchFeeType,
188
+ };
160
189
  }
161
190
  const response = {
162
191
  number,
@@ -175,6 +204,51 @@ class BlocksService extends AbstractService_1.AbstractService {
175
204
  this.blockStore.set(hash.toString(), response);
176
205
  return response;
177
206
  }
207
+ /**
208
+ * Fetch `payment_queryFeeDetails`.
209
+ *
210
+ * @param extHex
211
+ * @param previousBlockHash
212
+ * @param extrinsicSuccessWeight
213
+ * @param estWeight
214
+ */
215
+ async fetchQueryFeeDetails(extHex, previousBlockHash, extrinsicSuccessWeight, estWeight) {
216
+ const { api } = this;
217
+ const { inclusionFee } = await api.rpc.payment.queryFeeDetails(extHex, previousBlockHash);
218
+ const finalPartialFee = this.calcPartialFee(extrinsicSuccessWeight, estWeight, inclusionFee);
219
+ return finalPartialFee;
220
+ }
221
+ /**
222
+ * Retrieve the blockHash for the previous block to the one getting queried.
223
+ * If the block is the geneisis hash it will return the same blockHash.
224
+ *
225
+ * @param blockNumber The blockId being queried
226
+ */
227
+ async fetchPreviousBlockHash(blockNumber) {
228
+ const { api } = this;
229
+ const num = blockNumber.toBn();
230
+ return num.isZero()
231
+ ? await api.rpc.chain.getBlockHash(num)
232
+ : await api.rpc.chain.getBlockHash(num.sub(new bn_js_1.default(1)));
233
+ }
234
+ /**
235
+ * Calculate the partialFee for an extrinsic. This uses `calc_partial_fee` from `@substrate/calc`.
236
+ * Please reference the rust code in `@substrate/calc` too see docs on the algorithm.
237
+ *
238
+ * @param extrinsicSuccessWeight
239
+ * @param estWeight
240
+ * @param inclusionFee
241
+ */
242
+ calcPartialFee(extrinsicSuccessWeight, estWeight, inclusionFee) {
243
+ if (inclusionFee.isSome) {
244
+ const { baseFee, lenFee, adjustedWeightFee } = inclusionFee.unwrap();
245
+ return (0, calc_1.calc_partial_fee)(baseFee.toString(), lenFee.toString(), adjustedWeightFee.toString(), estWeight.toString(), extrinsicSuccessWeight.toString());
246
+ }
247
+ else {
248
+ // When the inclusion fee isNone we are dealing with a unsigned extrinsic.
249
+ return '0';
250
+ }
251
+ }
178
252
  /**
179
253
  * Return the header of a block
180
254
  *
@@ -314,144 +388,6 @@ class BlocksService extends AbstractService_1.AbstractService {
314
388
  return 'Unable to fetch Events, cannot confirm extrinsic status. Check pruning settings on the node.';
315
389
  }
316
390
  }
317
- /**
318
- * This will check whether we should query the fee by `payment::queryInfo`
319
- * or by an extrinsics events.
320
- *
321
- * @param events The events to search through for a partialFee
322
- * @param extrinsicHex Hex of the given extrinsic
323
- * @param hash Blockhash we are querying
324
- * @param getFeeByEvent `FeeByEvent` query parameter
325
- */
326
- async getPartialFeeInfo(events, extrinsicHex, hash, getFeeByEvent, tip) {
327
- const { api } = this;
328
- const { class: dispatchClass, partialFee } = await api.rpc.payment.queryInfo(extrinsicHex, hash);
329
- /**
330
- * Check if we should retrieve the partial_fee from the Events
331
- */
332
- let fee = partialFee;
333
- let error;
334
- if (getFeeByEvent) {
335
- const feeInfo = this.getPartialFeeByEvents(events, partialFee, tip);
336
- fee = feeInfo.partialFee;
337
- error = feeInfo.error;
338
- }
339
- return {
340
- partialFee: fee,
341
- dispatchClass,
342
- error,
343
- };
344
- }
345
- /**
346
- * This searches through an extrinsics given events to see if there is a partialFee
347
- * within the data. If the estimated partialFee is within a given difference of the
348
- * found fee within the data than we return that result.
349
- *
350
- * The order of the events we search through are:
351
- * 1.Balances::Event::Withdraw
352
- * 2.Treasury::Event::Deposit
353
- * 3.Balances::Event::Deposit
354
- *
355
- * @param events The events to search through for a partialFee
356
- * @param partialFee Estimated partialFee given by `payment::queryInfo`
357
- */
358
- getPartialFeeByEvents(events, partialFee, tip) {
359
- // Check Event:Withdraw event for the balances pallet
360
- const withdrawEvent = this.findEvent(events, 'balances', Event.withdraw);
361
- if (withdrawEvent.length > 0 && withdrawEvent[0].data) {
362
- const dataArr = withdrawEvent[0].data.toJSON();
363
- if (Array.isArray(dataArr)) {
364
- const fee = this.sanitizeFee(dataArr[dataArr.length - 1]);
365
- const adjustedPartialFee = tip
366
- ? tip.toBn().add(partialFee)
367
- : partialFee;
368
- // The difference between values is 00.00001% or less so they are alike.
369
- if (this.areFeesSimilar(new bn_js_1.default(fee), adjustedPartialFee)) {
370
- return {
371
- partialFee: tip
372
- ? new bn_js_1.default(fee).sub(tip.toBn()).toString()
373
- : fee.toString(),
374
- };
375
- }
376
- }
377
- }
378
- // Check the Event::Deposit for the treasury pallet
379
- const treasuryEvent = this.findEvent(events, 'treasury', Event.deposit);
380
- if (treasuryEvent.length > 0 && treasuryEvent[0].data) {
381
- const dataArr = treasuryEvent[0].data.toJSON();
382
- if (Array.isArray(dataArr)) {
383
- const fee = this.sanitizeFee(dataArr[0]);
384
- const adjustedPartialFee = tip
385
- ? tip.toBn().add(partialFee)
386
- : partialFee;
387
- // The difference between values is 00.00001% or less so they are alike.
388
- if (this.areFeesSimilar(new bn_js_1.default(fee), adjustedPartialFee)) {
389
- return {
390
- partialFee: tip
391
- ? new bn_js_1.default(fee).sub(tip.toBn()).toString()
392
- : fee.toString(),
393
- };
394
- }
395
- }
396
- }
397
- // Check Event::Deposit events for the balances pallet.
398
- const depositEvents = this.findEvent(events, 'balances', Event.deposit);
399
- if (depositEvents.length > 0) {
400
- let sumOfFees = new bn_js_1.default(0);
401
- depositEvents.forEach(({ data }) => (sumOfFees = sumOfFees.add(new bn_js_1.default(this.sanitizeFee(data[data.length - 1].toString())))));
402
- const adjustedPartialFee = tip ? tip.toBn().add(partialFee) : partialFee;
403
- // The difference between values is 00.00001% or less so they are alike.
404
- if (this.areFeesSimilar(sumOfFees, adjustedPartialFee)) {
405
- return {
406
- partialFee: tip
407
- ? new bn_js_1.default(sumOfFees).sub(tip.toBn()).toString()
408
- : sumOfFees.toString(),
409
- };
410
- }
411
- }
412
- return {
413
- partialFee: partialFee.toString(),
414
- error: 'Could not find a reliable fee within the events data.',
415
- };
416
- }
417
- /**
418
- * Find the corresponding events relevant to the passed in pallet, and method name.
419
- *
420
- * @param events The events to search through for a partialFee
421
- * @param palletName Pallet to search for
422
- * @param methodName Method to search for
423
- */
424
- findEvent(events, palletName, methodName) {
425
- return events.filter(({ method, data }) => (0, responses_1.isFrameMethod)(method) &&
426
- method.method === methodName &&
427
- method.pallet === palletName &&
428
- data);
429
- }
430
- /**
431
- * Sanitize a given fee
432
- *
433
- * @param fee
434
- */
435
- sanitizeFee(fee) {
436
- if ((0, util_2.isHex)(fee)) {
437
- const feeType = this.api.registry.createType('Balance', fee);
438
- return feeType.toString(10);
439
- }
440
- return fee;
441
- }
442
- /**
443
- * Checks to see if the value in an event is within 00.00001% accuracy of
444
- * the queried `partialFee` from `rpc::payment::queryInfo`.
445
- *
446
- * @param eventBalance Balance returned in the data of an event
447
- * @param partialFee Fee queried from `rpc::payment::queryInfo`
448
- * @param diff difference between the
449
- */
450
- areFeesSimilar(eventBalance, partialFee) {
451
- const diff = (0, compare_1.subIntegers)(eventBalance, partialFee);
452
- return (eventBalance.toString().length - diff.toString().length > 5 &&
453
- eventBalance.toString().length === partialFee.toString().length);
454
- }
455
391
  /**
456
392
  * Checks to see if the current chain has the session module, then retrieve all
457
393
  * validators.
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksService.js","sourceRoot":"","sources":["../../../../src/services/blocks/BlocksService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlocksService.js","sourceRoot":"","sources":["../../../../src/services/blocks/BlocksService.ts"],"names":[],"mappings":"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"}