@substrate/api-sidecar 14.2.2 → 14.3.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.
- package/README.md +9 -5
- package/build/package.json +20 -22
- package/build/src/SidecarConfig.js +4 -0
- package/build/src/SidecarConfig.js.map +1 -1
- package/build/src/Specs.js +26 -0
- package/build/src/Specs.js.map +1 -1
- package/build/src/chains-config/astarControllers.js +1 -0
- package/build/src/chains-config/astarControllers.js.map +1 -1
- package/build/src/chains-config/defaultControllers.js +1 -0
- package/build/src/chains-config/defaultControllers.js.map +1 -1
- package/build/src/chains-config/kusamaControllers.js +3 -0
- package/build/src/chains-config/kusamaControllers.js.map +1 -1
- package/build/src/chains-config/polkadotControllers.js +3 -0
- package/build/src/chains-config/polkadotControllers.js.map +1 -1
- package/build/src/chains-config/statemineControllers.js +1 -0
- package/build/src/chains-config/statemineControllers.js.map +1 -1
- package/build/src/chains-config/statemintControllers.js +1 -0
- package/build/src/chains-config/statemintControllers.js.map +1 -1
- package/build/src/chains-config/westendControllers.js +3 -0
- package/build/src/chains-config/westendControllers.js.map +1 -1
- package/build/src/controllers/AbstractController.d.ts +1 -1
- package/build/src/controllers/AbstractController.js.map +1 -1
- package/build/src/controllers/index.d.ts +4 -1
- package/build/src/controllers/index.js +3 -0
- package/build/src/controllers/index.js.map +1 -1
- package/build/src/controllers/pallets/PalletsErrorsController.d.ts +20 -0
- package/build/src/controllers/pallets/PalletsErrorsController.js +70 -0
- package/build/src/controllers/pallets/PalletsErrorsController.js.map +1 -0
- package/build/src/controllers/pallets/PalletsNominationPoolsController.d.ts +9 -0
- package/build/src/controllers/pallets/PalletsNominationPoolsController.js +50 -0
- package/build/src/controllers/pallets/PalletsNominationPoolsController.js.map +1 -0
- package/build/src/controllers/pallets/PalletsStakingValidatorsController.d.ts +14 -0
- package/build/src/controllers/pallets/PalletsStakingValidatorsController.js +43 -0
- package/build/src/controllers/pallets/PalletsStakingValidatorsController.js.map +1 -0
- package/build/src/controllers/pallets/index.d.ts +3 -0
- package/build/src/controllers/pallets/index.js +7 -1
- package/build/src/controllers/pallets/index.js.map +1 -1
- package/build/src/controllers/paras/ParasController.d.ts +2 -0
- package/build/src/controllers/paras/ParasController.js +10 -0
- package/build/src/controllers/paras/ParasController.js.map +1 -1
- package/build/src/controllers/transaction/TransactionMaterialController.d.ts +1 -1
- package/build/src/logging/Log.js +7 -1
- package/build/src/logging/Log.js.map +1 -1
- package/build/src/logging/transports/fileTransport.d.ts +2 -0
- package/build/src/logging/transports/fileTransport.js +16 -0
- package/build/src/logging/transports/fileTransport.js.map +1 -0
- package/build/src/logging/transports/index.d.ts +1 -0
- package/build/src/logging/transports/index.js +1 -0
- package/build/src/logging/transports/index.js.map +1 -1
- package/build/src/services/AbstractPalletsService.d.ts +33 -0
- package/build/src/services/AbstractPalletsService.js +176 -0
- package/build/src/services/AbstractPalletsService.js.map +1 -0
- package/build/src/services/accounts/AccountsStakingPayoutsService.d.ts +1 -1
- package/build/src/services/blocks/trace/Trace.d.ts +1 -1
- package/build/src/services/blocks/trace/types.d.ts +2 -2
- package/build/src/services/node/NodeTransactionPoolService.js +12 -4
- package/build/src/services/node/NodeTransactionPoolService.js.map +1 -1
- package/build/src/services/node/NodeTransactionPoolService.spec.js +0 -2
- package/build/src/services/node/NodeTransactionPoolService.spec.js.map +1 -1
- package/build/src/services/pallets/PalletsErrorsService.d.ts +19 -0
- package/build/src/services/pallets/PalletsErrorsService.js +78 -0
- package/build/src/services/pallets/PalletsErrorsService.js.map +1 -0
- package/build/src/services/pallets/PalletsErrorsService.spec.d.ts +1 -0
- package/build/src/services/pallets/PalletsErrorsService.spec.js +95 -0
- package/build/src/services/pallets/PalletsErrorsService.spec.js.map +1 -0
- package/build/src/services/pallets/PalletsNominationPoolsService.d.ts +21 -0
- package/build/src/services/pallets/PalletsNominationPoolsService.js +108 -0
- package/build/src/services/pallets/PalletsNominationPoolsService.js.map +1 -0
- package/build/src/services/pallets/PalletsNominationPoolsService.spec.d.ts +1 -0
- package/build/src/services/pallets/PalletsNominationPoolsService.spec.js +138 -0
- package/build/src/services/pallets/PalletsNominationPoolsService.spec.js.map +1 -0
- package/build/src/services/pallets/PalletsStakingValidatorsService.d.ts +14 -0
- package/build/src/services/pallets/PalletsStakingValidatorsService.js +55 -0
- package/build/src/services/pallets/PalletsStakingValidatorsService.js.map +1 -0
- package/build/src/services/pallets/PalletsStorageService.d.ts +2 -23
- package/build/src/services/pallets/PalletsStorageService.js +8 -108
- package/build/src/services/pallets/PalletsStorageService.js.map +1 -1
- package/build/src/services/pallets/index.d.ts +3 -0
- package/build/src/services/pallets/index.js +3 -0
- package/build/src/services/pallets/index.js.map +1 -1
- package/build/src/services/paras/ParasService.d.ts +8 -1
- package/build/src/services/paras/ParasService.js +35 -0
- package/build/src/services/paras/ParasService.js.map +1 -1
- package/build/src/services/paras/ParasService.spec.js +20 -0
- package/build/src/services/paras/ParasService.spec.js.map +1 -1
- package/build/src/services/transaction/TransactionFeeEstimateService.spec.js +1 -1
- package/build/src/services/transaction/TransactionFeeEstimateService.spec.js.map +1 -1
- package/build/src/types/requests.d.ts +6 -2
- package/build/src/types/responses/PalletErrors.d.ts +10 -0
- package/build/src/types/responses/PalletErrors.js +18 -0
- package/build/src/types/responses/PalletErrors.js.map +1 -0
- package/build/src/types/responses/PalletErrorsItem.d.ts +6 -0
- package/build/src/types/responses/PalletErrorsItem.js +18 -0
- package/build/src/types/responses/PalletErrorsItem.js.map +1 -0
- package/build/src/types/responses/PalletNominationPools.d.ts +25 -0
- package/build/src/types/responses/PalletNominationPools.js +18 -0
- package/build/src/types/responses/PalletNominationPools.js.map +1 -0
- package/build/src/types/responses/PalletStakingValidators.d.ts +15 -0
- package/build/src/types/responses/PalletStakingValidators.js +18 -0
- package/build/src/types/responses/PalletStakingValidators.js.map +1 -0
- package/build/src/types/responses/Paras.d.ts +33 -4
- package/build/src/types/responses/SanitizedErrorItemMetadata.d.ts +7 -0
- package/build/src/types/responses/SanitizedErrorItemMetadata.js +18 -0
- package/build/src/types/responses/SanitizedErrorItemMetadata.js.map +1 -0
- package/build/src/types/responses/TransactionDryRun.d.ts +1 -1
- package/build/src/types/responses/index.d.ts +5 -0
- package/build/src/types/responses/index.js +5 -0
- package/build/src/types/responses/index.js.map +1 -1
- package/build/src/types/sidecar-config/CONFIG.d.ts +5 -1
- package/build/src/types/sidecar-config/CONFIG.js +4 -0
- package/build/src/types/sidecar-config/CONFIG.js.map +1 -1
- package/build/src/types/sidecar-config/SidecarConfig.d.ts +4 -0
- package/build/src/types/util/Option.d.ts +1 -1
- package/package.json +20 -22
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const services_1 = require("../../services");
|
|
22
|
+
const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
23
|
+
class PalletsStakingValidatorsController extends AbstractController_1.default {
|
|
24
|
+
constructor(api) {
|
|
25
|
+
super(api, '/pallets/staking/validators', new services_1.PalletsStakingValidatorsService(api));
|
|
26
|
+
/**
|
|
27
|
+
* Get the progress of the staking pallet system.
|
|
28
|
+
*
|
|
29
|
+
* @param _req Express Request
|
|
30
|
+
* @param res Express Response
|
|
31
|
+
*/
|
|
32
|
+
this.getPalletStakingValidators = async ({ query: { at } }, res) => {
|
|
33
|
+
const hash = await this.getHashFromAt(at);
|
|
34
|
+
PalletsStakingValidatorsController.sanitizedSend(res, await this.service.derivePalletStakingValidators(hash));
|
|
35
|
+
};
|
|
36
|
+
this.initRoutes();
|
|
37
|
+
}
|
|
38
|
+
initRoutes() {
|
|
39
|
+
this.safeMountAsyncGetHandlers([['', this.getPalletStakingValidators]]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.default = PalletsStakingValidatorsController;
|
|
43
|
+
//# sourceMappingURL=PalletsStakingValidatorsController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PalletsStakingValidatorsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStakingValidatorsController.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;;;;;AAKxE,6CAAiE;AACjE,+EAAuD;AAEvD,MAAqB,kCAAmC,SAAQ,4BAAmD;IAClH,YAAY,GAAe;QAC1B,KAAK,CACJ,GAAG,EACH,6BAA6B,EAC7B,IAAI,0CAA+B,CAAC,GAAG,CAAC,CACxC,CAAC;QAQH;;;;;WAKG;QACK,+BAA0B,GAAmB,KAAK,EACzD,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EACjB,GAAG,EACa,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAE1C,kCAAkC,CAAC,aAAa,CAC/C,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,CACtD,CAAC;QACH,CAAC,CAAC;QAvBD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;CAmBD;AA/BD,qDA+BC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { default as PalletsAssets } from './PalletsAssetsController';
|
|
2
|
+
export { default as PalletsErrors } from './PalletsErrorsController';
|
|
3
|
+
export { default as PalletsNominationPools } from './PalletsNominationPoolsController';
|
|
2
4
|
export { default as PalletsStakingProgress } from './PalletsStakingProgressController';
|
|
5
|
+
export { default as PalletsStakingValidators } from './PalletsStakingValidatorsController';
|
|
3
6
|
export { default as PalletsStorage } from './PalletsStorageController';
|
|
@@ -18,11 +18,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
18
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.PalletsStorage = exports.PalletsStakingProgress = exports.PalletsAssets = void 0;
|
|
21
|
+
exports.PalletsStorage = exports.PalletsStakingValidators = exports.PalletsStakingProgress = exports.PalletsNominationPools = exports.PalletsErrors = exports.PalletsAssets = void 0;
|
|
22
22
|
var PalletsAssetsController_1 = require("./PalletsAssetsController");
|
|
23
23
|
Object.defineProperty(exports, "PalletsAssets", { enumerable: true, get: function () { return __importDefault(PalletsAssetsController_1).default; } });
|
|
24
|
+
var PalletsErrorsController_1 = require("./PalletsErrorsController");
|
|
25
|
+
Object.defineProperty(exports, "PalletsErrors", { enumerable: true, get: function () { return __importDefault(PalletsErrorsController_1).default; } });
|
|
26
|
+
var PalletsNominationPoolsController_1 = require("./PalletsNominationPoolsController");
|
|
27
|
+
Object.defineProperty(exports, "PalletsNominationPools", { enumerable: true, get: function () { return __importDefault(PalletsNominationPoolsController_1).default; } });
|
|
24
28
|
var PalletsStakingProgressController_1 = require("./PalletsStakingProgressController");
|
|
25
29
|
Object.defineProperty(exports, "PalletsStakingProgress", { enumerable: true, get: function () { return __importDefault(PalletsStakingProgressController_1).default; } });
|
|
30
|
+
var PalletsStakingValidatorsController_1 = require("./PalletsStakingValidatorsController");
|
|
31
|
+
Object.defineProperty(exports, "PalletsStakingValidators", { enumerable: true, get: function () { return __importDefault(PalletsStakingValidatorsController_1).default; } });
|
|
26
32
|
var PalletsStorageController_1 = require("./PalletsStorageController");
|
|
27
33
|
Object.defineProperty(exports, "PalletsStorage", { enumerable: true, get: function () { return __importDefault(PalletsStorageController_1).default; } });
|
|
28
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/index.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;;;;;;AAExE,qEAAqE;AAA5D,yIAAA,OAAO,OAAiB;AACjC,uFAAuF;AAA9E,2JAAA,OAAO,OAA0B;AAC1C,uEAAuE;AAA9D,2IAAA,OAAO,OAAkB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/index.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;;;;;;AAExE,qEAAqE;AAA5D,yIAAA,OAAO,OAAiB;AACjC,qEAAqE;AAA5D,yIAAA,OAAO,OAAiB;AACjC,uFAAuF;AAA9E,2JAAA,OAAO,OAA0B;AAC1C,uFAAuF;AAA9E,2JAAA,OAAO,OAA0B;AAC1C,2FAA2F;AAAlF,+JAAA,OAAO,OAA4B;AAC5C,uEAAuE;AAA9D,2IAAA,OAAO,OAAkB"}
|
|
@@ -5,6 +5,8 @@ export default class ParasController extends AbstractController<ParasService> {
|
|
|
5
5
|
constructor(api: ApiPromise);
|
|
6
6
|
protected initRoutes(): void;
|
|
7
7
|
private getParas;
|
|
8
|
+
private getParasHeadIncludedCandidates;
|
|
9
|
+
private getParasHeadBackedCandidates;
|
|
8
10
|
private getCrowdloanInfo;
|
|
9
11
|
private getCrowdloans;
|
|
10
12
|
private getLeaseInfo;
|
|
@@ -29,6 +29,14 @@ class ParasController extends AbstractController_1.default {
|
|
|
29
29
|
const hash = await this.getHashFromAt(at);
|
|
30
30
|
ParasController.sanitizedSend(res, await this.service.paras(hash));
|
|
31
31
|
};
|
|
32
|
+
this.getParasHeadIncludedCandidates = async ({ query: { at } }, res) => {
|
|
33
|
+
const hash = await this.getHashFromAt(at);
|
|
34
|
+
ParasController.sanitizedSend(res, await this.service.parasHead(hash, 'CandidateIncluded'));
|
|
35
|
+
};
|
|
36
|
+
this.getParasHeadBackedCandidates = async ({ query: { at } }, res) => {
|
|
37
|
+
const hash = await this.getHashFromAt(at);
|
|
38
|
+
ParasController.sanitizedSend(res, await this.service.parasHead(hash, 'CandidateBacked'));
|
|
39
|
+
};
|
|
32
40
|
this.getCrowdloanInfo = async ({ params: { paraId }, query: { at } }, res) => {
|
|
33
41
|
this.checkParasModule();
|
|
34
42
|
const hash = await this.getHashFromAt(at);
|
|
@@ -73,6 +81,8 @@ class ParasController extends AbstractController_1.default {
|
|
|
73
81
|
['/paras/:paraId/lease-info', this.getLeaseInfo],
|
|
74
82
|
['/paras/leases/current', this.getLeasesCurrent],
|
|
75
83
|
['/paras/auctions/current', this.getAuctionsCurrent],
|
|
84
|
+
['/paras/head/included-candidates', this.getParasHeadIncludedCandidates],
|
|
85
|
+
['/paras/head/backed-candidates', this.getParasHeadBackedCandidates],
|
|
76
86
|
['/experimental/paras/', this.getParas],
|
|
77
87
|
['/experimental/paras/crowdloans', this.getCrowdloans],
|
|
78
88
|
['/experimental/paras/:paraId/crowdloan-info', this.getCrowdloanInfo],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParasController.js","sourceRoot":"","sources":["../../../../src/controllers/paras/ParasController.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;;;;;AAKxE,iDAAmD;AACnD,6CAA8C;AAE9C,+EAAuD;AAEvD,MAAqB,eAAgB,SAAQ,4BAAgC;IAC5E,YAAY,GAAe;QAC1B,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,uBAAY,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ParasController.js","sourceRoot":"","sources":["../../../../src/controllers/paras/ParasController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ApiPromise } from '@polkadot/api';
|
|
2
2
|
import { TransactionMaterialService } from '../../services';
|
|
3
3
|
import AbstractController from '../AbstractController';
|
|
4
|
-
export
|
|
4
|
+
export type MetadataOpts = 'json' | 'scale';
|
|
5
5
|
/**
|
|
6
6
|
* GET all the network information needed to construct a transaction offline.
|
|
7
7
|
*
|
package/build/src/logging/Log.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.Log = void 0;
|
|
19
19
|
const winston_1 = require("winston");
|
|
20
|
+
const SidecarConfig_1 = require("../SidecarConfig");
|
|
20
21
|
const transports_1 = require("./transports");
|
|
21
22
|
/**
|
|
22
23
|
* Access a singleton winston.Logger that will be intialized on first use.
|
|
@@ -26,8 +27,13 @@ class Log {
|
|
|
26
27
|
if (this._logger) {
|
|
27
28
|
return this._logger;
|
|
28
29
|
}
|
|
29
|
-
// Note: there is a `fileTransport` that gets added in main.
|
|
30
30
|
this._transports = [(0, transports_1.consoleTransport)()];
|
|
31
|
+
/**
|
|
32
|
+
* By default this will be false unless specified as an ENV var.
|
|
33
|
+
*/
|
|
34
|
+
if (SidecarConfig_1.SidecarConfig.config.LOG.WRITE) {
|
|
35
|
+
this._transports.push((0, transports_1.fileTransport)('logs.log'));
|
|
36
|
+
}
|
|
31
37
|
this._logger = (0, winston_1.createLogger)({
|
|
32
38
|
transports: this._transports,
|
|
33
39
|
exitOnError: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Log.js","sourceRoot":"","sources":["../../../src/logging/Log.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;;;AAExE,qCAA+C;
|
|
1
|
+
{"version":3,"file":"Log.js","sourceRoot":"","sources":["../../../src/logging/Log.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;;;AAExE,qCAA+C;AAM/C,oDAAiD;AACjD,6CAA+D;AAE/D;;GAEG;AACH,MAAa,GAAG;IAKP,MAAM,CAAC,MAAM;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC;SACpB;QAED,IAAI,CAAC,WAAW,GAAG,CAAC,IAAA,6BAAgB,GAAE,CAAC,CAAC;QAExC;;WAEG;QACH,IAAI,6BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,OAAO,GAAG,IAAA,sBAAY,EAAC;YAC3B,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,WAAW,EAAE,KAAK;YAClB,iBAAiB,EAAE,IAAI,CAAC,WAAW;SACnC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,KAAK,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;CACD;AAlCD,kBAkCC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fileTransport = void 0;
|
|
4
|
+
const winston_1 = require("winston");
|
|
5
|
+
const SidecarConfig_1 = require("../../SidecarConfig");
|
|
6
|
+
const fileTransport = (fileName) => {
|
|
7
|
+
return new winston_1.transports.File({
|
|
8
|
+
level: SidecarConfig_1.SidecarConfig.config.LOG.LEVEL,
|
|
9
|
+
filename: `${SidecarConfig_1.SidecarConfig.config.LOG.WRITE_PATH}/${fileName}`,
|
|
10
|
+
handleExceptions: true,
|
|
11
|
+
maxsize: SidecarConfig_1.SidecarConfig.config.LOG.WRITE_MAX_FILE_SIZE,
|
|
12
|
+
maxFiles: SidecarConfig_1.SidecarConfig.config.LOG.WRITE_MAX_FILES,
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
exports.fileTransport = fileTransport;
|
|
16
|
+
//# sourceMappingURL=fileTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileTransport.js","sourceRoot":"","sources":["../../../../src/logging/transports/fileTransport.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAErC,uDAAoD;AAE7C,MAAM,aAAa,GAAG,CAC5B,QAAgB,EACmB,EAAE;IACrC,OAAO,IAAI,oBAAU,CAAC,IAAI,CAAC;QAC1B,KAAK,EAAE,6BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;QACrC,QAAQ,EAAE,GAAG,6BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE;QAC9D,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,6BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB;QACrD,QAAQ,EAAE,6BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe;KAClD,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB"}
|
|
@@ -30,4 +30,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
__exportStar(require("./consoleTransport"), exports);
|
|
33
|
+
__exportStar(require("./fileTransport"), exports);
|
|
33
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logging/transports/index.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;;;;;;;;;;;;;;;;AAExE,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logging/transports/index.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;;;;;;;;;;;;;;;;AAExE,qDAAmC;AACnC,kDAAgC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ApiDecoration } from '@polkadot/api/types';
|
|
2
|
+
import { MetadataV13, MetadataV14, ModuleMetadataV13, PalletErrorMetadataV14, PalletMetadataV14, StorageEntryMetadataV13, StorageEntryMetadataV14 } from '@polkadot/types/interfaces';
|
|
3
|
+
import { AbstractService } from './AbstractService';
|
|
4
|
+
export declare abstract class AbstractPalletsService extends AbstractService {
|
|
5
|
+
private getPalletMetadataType;
|
|
6
|
+
private getProperty;
|
|
7
|
+
/**
|
|
8
|
+
* Find a pallet's metadata info.
|
|
9
|
+
*
|
|
10
|
+
* @param palletId identifier for a FRAME pallet as a pallet name or index.
|
|
11
|
+
*/
|
|
12
|
+
protected findPalletMeta(adjustedMetadata: MetadataV13 | MetadataV14, historicApi: ApiDecoration<'promise'>, palletId: string, metadataFieldType: string): [PalletMetadataV14 | ModuleMetadataV13, number];
|
|
13
|
+
private validPalletId;
|
|
14
|
+
/**
|
|
15
|
+
* Identify if a pallet Identifier should be an index or a string. If it should
|
|
16
|
+
* be an index return a number and if it should be a name return a string.
|
|
17
|
+
*
|
|
18
|
+
* @param palletId FRAME pallet identifier as a pallet name or index
|
|
19
|
+
*/
|
|
20
|
+
private static palletIdxOrName;
|
|
21
|
+
/**
|
|
22
|
+
* Find the an item's metadata within a given pallets' metadata based on a provided type.
|
|
23
|
+
*
|
|
24
|
+
* @param historicApi Decorated historic api
|
|
25
|
+
* @param palletMeta the metadata of the pallet that contains the error item
|
|
26
|
+
* @param palletItemId name of the error item in camel or pascal case
|
|
27
|
+
* @param metadataFieldType name of the metadata field to be queried
|
|
28
|
+
*
|
|
29
|
+
*/
|
|
30
|
+
protected findPalletFieldItemMeta(historicApi: ApiDecoration<'promise'>, palletMeta: PalletMetadataV14 | ModuleMetadataV13, palletItemId: string, metadataFieldType: string): PalletErrorMetadataV14 | StorageEntryMetadataV13 | StorageEntryMetadataV14;
|
|
31
|
+
private getErrorItemMeta;
|
|
32
|
+
private getStorageItemMeta;
|
|
33
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
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.AbstractPalletsService = void 0;
|
|
19
|
+
const util_1 = require("@polkadot/util");
|
|
20
|
+
const http_errors_1 = require("http-errors");
|
|
21
|
+
const http_errors_2 = require("http-errors");
|
|
22
|
+
const AbstractService_1 = require("./AbstractService");
|
|
23
|
+
class AbstractPalletsService extends AbstractService_1.AbstractService {
|
|
24
|
+
getPalletMetadataType(meta, metadataFieldType) {
|
|
25
|
+
if (metadataFieldType === 'storage') {
|
|
26
|
+
if (meta.toRawType().includes('MetadataV13')) {
|
|
27
|
+
return this.getProperty(meta, metadataFieldType);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return this.getProperty(meta, metadataFieldType);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return this.getProperty(meta, 'errors');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
getProperty(obj, key) {
|
|
38
|
+
return obj[key];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Find a pallet's metadata info.
|
|
42
|
+
*
|
|
43
|
+
* @param palletId identifier for a FRAME pallet as a pallet name or index.
|
|
44
|
+
*/
|
|
45
|
+
findPalletMeta(adjustedMetadata, historicApi, palletId, metadataFieldType) {
|
|
46
|
+
const metadataType = adjustedMetadata.toRawType();
|
|
47
|
+
let pallets;
|
|
48
|
+
let filtered;
|
|
49
|
+
if (metadataType.includes('MetadataV13')) {
|
|
50
|
+
pallets = adjustedMetadata['modules'];
|
|
51
|
+
const palletMetaType = this.getPalletMetadataType(pallets[0], metadataFieldType);
|
|
52
|
+
filtered = pallets.filter((mod) => mod[metadataFieldType].isSome);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
pallets = adjustedMetadata['pallets'];
|
|
56
|
+
const palletMetaType = this.getPalletMetadataType(pallets[0], metadataFieldType);
|
|
57
|
+
filtered = pallets.filter((mod) => mod[metadataFieldType].isSome);
|
|
58
|
+
}
|
|
59
|
+
const { isValidPalletName, isValidPalletIndex, parsedPalletId } = this.validPalletId(historicApi, pallets, palletId);
|
|
60
|
+
let palletMeta;
|
|
61
|
+
let palletIdx;
|
|
62
|
+
if (isValidPalletIndex) {
|
|
63
|
+
palletIdx = parsedPalletId;
|
|
64
|
+
for (const [sectionIdx, section] of filtered.entries()) {
|
|
65
|
+
const idx = section.index.eqn(255)
|
|
66
|
+
? sectionIdx
|
|
67
|
+
: section.index.toNumber();
|
|
68
|
+
if (idx === palletIdx) {
|
|
69
|
+
palletMeta = section;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else if (isValidPalletName) {
|
|
75
|
+
for (const [sectionIdx, section] of filtered.entries()) {
|
|
76
|
+
if (section.name.toLowerCase() === palletId.toLowerCase()) {
|
|
77
|
+
// ModuleMetadataV11 and lower have an `index` but they use 255 as a reserve value to signify
|
|
78
|
+
// that they are meaningless. So if the index is 255 we use its index in the filtered array
|
|
79
|
+
// of modules. But if the index is something else than we use `ModuleMetadataV12.index`.
|
|
80
|
+
// The reason they use a reserve value is that all previous ModuleMetadata versions actually
|
|
81
|
+
// extend the latest. So since the intro of ModuleMetadataV12 all versions have `index` in
|
|
82
|
+
// polkadot-js, but at the substrate level, only versions >= 12 have pallet `index`.
|
|
83
|
+
// https://github.com/polkadot-js/api/pull/2599
|
|
84
|
+
// https://github.com/paritytech/substrate/pull/6969
|
|
85
|
+
// https://github.com/polkadot-js/api/issues/2596
|
|
86
|
+
palletIdx = section.index.eqn(255)
|
|
87
|
+
? sectionIdx
|
|
88
|
+
: section.index.toNumber();
|
|
89
|
+
palletMeta = section;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (!palletMeta || palletIdx === undefined || palletIdx < 0) {
|
|
95
|
+
throw new http_errors_1.BadRequest(`"${palletId}" was not recognized as a queryable pallet.`);
|
|
96
|
+
}
|
|
97
|
+
return [palletMeta, palletIdx];
|
|
98
|
+
}
|
|
99
|
+
validPalletId(historicApi, modules, palletId) {
|
|
100
|
+
// Either a pallet name (string) or a pallet index (number)
|
|
101
|
+
const parsedPalletId = AbstractPalletsService.palletIdxOrName(palletId);
|
|
102
|
+
const isValidPalletName = typeof parsedPalletId === 'string' && !!historicApi.query[palletId];
|
|
103
|
+
const isValidPalletIndex = typeof parsedPalletId === 'number' &&
|
|
104
|
+
modules.some((meta, idx) => meta.index.eqn(255)
|
|
105
|
+
? idx === parsedPalletId
|
|
106
|
+
: meta.index.eqn(parsedPalletId));
|
|
107
|
+
return {
|
|
108
|
+
isValidPalletName,
|
|
109
|
+
isValidPalletIndex,
|
|
110
|
+
parsedPalletId,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Identify if a pallet Identifier should be an index or a string. If it should
|
|
115
|
+
* be an index return a number and if it should be a name return a string.
|
|
116
|
+
*
|
|
117
|
+
* @param palletId FRAME pallet identifier as a pallet name or index
|
|
118
|
+
*/
|
|
119
|
+
static palletIdxOrName(palletId) {
|
|
120
|
+
const maybeIdx = Number(palletId);
|
|
121
|
+
if (Number.isInteger(maybeIdx)) {
|
|
122
|
+
return maybeIdx;
|
|
123
|
+
}
|
|
124
|
+
return palletId;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Find the an item's metadata within a given pallets' metadata based on a provided type.
|
|
128
|
+
*
|
|
129
|
+
* @param historicApi Decorated historic api
|
|
130
|
+
* @param palletMeta the metadata of the pallet that contains the error item
|
|
131
|
+
* @param palletItemId name of the error item in camel or pascal case
|
|
132
|
+
* @param metadataFieldType name of the metadata field to be queried
|
|
133
|
+
*
|
|
134
|
+
*/
|
|
135
|
+
findPalletFieldItemMeta(historicApi, palletMeta, palletItemId, metadataFieldType) {
|
|
136
|
+
let palletItemIdx = -1;
|
|
137
|
+
let palletItemMeta;
|
|
138
|
+
if (metadataFieldType === 'storage') {
|
|
139
|
+
[palletItemIdx, palletItemMeta] = this.getStorageItemMeta(palletMeta, palletItemIdx, palletItemId);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
[palletItemIdx, palletItemMeta] = this.getErrorItemMeta(historicApi, palletMeta, palletItemIdx, palletItemId);
|
|
143
|
+
}
|
|
144
|
+
if (palletItemIdx === -1) {
|
|
145
|
+
throw new http_errors_2.InternalServerError(`Could not find ${metadataFieldType} item ("${palletItemId}") in metadata. ${metadataFieldType} item names are expected to be in camel case, e.g. 'storageItemId'`);
|
|
146
|
+
}
|
|
147
|
+
return palletItemMeta;
|
|
148
|
+
}
|
|
149
|
+
getErrorItemMeta(historicApi, palletMeta, errorItemMetaIdx, errorItemId) {
|
|
150
|
+
const palletName = (0, util_1.stringCamelCase)(palletMeta.name);
|
|
151
|
+
const errors = historicApi.errors[palletName];
|
|
152
|
+
if (palletMeta.errors.isEmpty) {
|
|
153
|
+
throw new http_errors_2.InternalServerError(`No error items found in ${palletMeta.name.toString()}'s metadadta`);
|
|
154
|
+
}
|
|
155
|
+
for (const [, val] of Object.entries(errors)) {
|
|
156
|
+
const item = val.meta;
|
|
157
|
+
if (item.name.toLowerCase() === errorItemId.toLowerCase()) {
|
|
158
|
+
errorItemMetaIdx = val.meta.index.toNumber();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return [
|
|
162
|
+
errorItemMetaIdx,
|
|
163
|
+
Object.entries(errors)[errorItemMetaIdx],
|
|
164
|
+
];
|
|
165
|
+
}
|
|
166
|
+
getStorageItemMeta(palletMeta, storageItemMetaIdx, storageItemId) {
|
|
167
|
+
if (palletMeta.storage.isNone) {
|
|
168
|
+
throw new http_errors_2.InternalServerError(`No storage items found in ${palletMeta.name.toString()}'s metadata`);
|
|
169
|
+
}
|
|
170
|
+
const palletMetaStorage = palletMeta.storage.unwrap().items;
|
|
171
|
+
storageItemMetaIdx = palletMetaStorage.findIndex((item) => item.name.toLowerCase() === storageItemId.toLowerCase());
|
|
172
|
+
return [storageItemMetaIdx, palletMetaStorage[storageItemMetaIdx]];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
exports.AbstractPalletsService = AbstractPalletsService;
|
|
176
|
+
//# sourceMappingURL=AbstractPalletsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractPalletsService.js","sourceRoot":"","sources":["../../../src/services/AbstractPalletsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { AbstractService } from '../AbstractService';
|
|
|
10
10
|
* General information about an era, in tuple form because we initially get it
|
|
11
11
|
* by destructuring a Promise.all(...)
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
type IErasGeneral = [
|
|
14
14
|
DeriveEraExposure,
|
|
15
15
|
PalletStakingEraRewardPoints,
|
|
16
16
|
Option<BalanceOf>
|
|
@@ -4,7 +4,7 @@ import { ActionGroup, BlockTrace, Operation, ParsedAccountEvent, ParsedActionEve
|
|
|
4
4
|
/**
|
|
5
5
|
* Mapping of address => `system::Account` events that belong to the address
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
type AccountEventsByAddress = Map<string, ParsedAccountEvent[]>;
|
|
8
8
|
/**
|
|
9
9
|
* Class for processing traces from the `state_traceBlock` RPC endpoint.
|
|
10
10
|
*
|
|
@@ -81,7 +81,7 @@ export interface PalletKeyInfo {
|
|
|
81
81
|
export interface SpecialKeyInfo {
|
|
82
82
|
special: string;
|
|
83
83
|
}
|
|
84
|
-
export
|
|
84
|
+
export type KeyInfo = PalletKeyInfo | SpecialKeyInfo | {
|
|
85
85
|
error: string;
|
|
86
86
|
};
|
|
87
87
|
export interface ParentSpanId {
|
|
@@ -111,7 +111,7 @@ export declare enum Phase {
|
|
|
111
111
|
OnFinalize = "onFinalize",
|
|
112
112
|
FinalChecks = "finalChecks"
|
|
113
113
|
}
|
|
114
|
-
export
|
|
114
|
+
export type PhaseOther = Phase | string;
|
|
115
115
|
/**
|
|
116
116
|
* Information on an action group.
|
|
117
117
|
*/
|
|
@@ -57,7 +57,8 @@ class NodeTransactionPoolService extends AbstractService_1.AbstractService {
|
|
|
57
57
|
async extractExtrinsicInfo(ext) {
|
|
58
58
|
const { api } = this;
|
|
59
59
|
const { hash, tip } = ext;
|
|
60
|
-
const
|
|
60
|
+
const u8a = ext.toU8a();
|
|
61
|
+
const { class: c, partialFee, weight, } = await api.call.transactionPaymentApi.queryInfo(u8a, u8a.length);
|
|
61
62
|
const priority = await this.computeExtPriority(ext, c, weight);
|
|
62
63
|
return {
|
|
63
64
|
hash: hash.toHex(),
|
|
@@ -86,9 +87,15 @@ class NodeTransactionPoolService extends AbstractService_1.AbstractService {
|
|
|
86
87
|
const { tip, encodedLength: len } = ext;
|
|
87
88
|
const BN_ONE = new bn_js_1.default(1);
|
|
88
89
|
const sanitizedClass = this.defineDispatchClassType(dispatchClass);
|
|
89
|
-
|
|
90
|
+
// Check which versions of Weight we are using by checking to see if refTime exists.
|
|
91
|
+
const versionedWeight = weight['refTime']
|
|
92
|
+
? weight.refTime.unwrap().toBn()
|
|
93
|
+
: weight.toBn();
|
|
94
|
+
const maxBlockWeight = api.consts.system.blockWeights.maxBlock.refTime
|
|
95
|
+
? api.consts.system.blockWeights.maxBlock.refTime.unwrap()
|
|
96
|
+
: api.consts.system.blockWeights.maxBlock;
|
|
90
97
|
const maxLength = new bn_js_1.default(api.consts.system.blockLength.max[sanitizedClass]);
|
|
91
|
-
const boundedWeight = bn_js_1.default.min(bn_js_1.default.max(
|
|
98
|
+
const boundedWeight = bn_js_1.default.min(bn_js_1.default.max(versionedWeight, BN_ONE), new bn_js_1.default(maxBlockWeight));
|
|
92
99
|
const boundedLength = bn_js_1.default.min(bn_js_1.default.max(new bn_js_1.default(len), BN_ONE), maxLength);
|
|
93
100
|
const maxTxPerBlockWeight = maxBlockWeight.toBn().div(boundedWeight);
|
|
94
101
|
const maxTxPerBlockLength = maxLength.div(boundedLength);
|
|
@@ -106,7 +113,8 @@ class NodeTransactionPoolService extends AbstractService_1.AbstractService {
|
|
|
106
113
|
break;
|
|
107
114
|
}
|
|
108
115
|
case 'operational': {
|
|
109
|
-
const
|
|
116
|
+
const u8a = ext.toU8a();
|
|
117
|
+
const { inclusionFee } = await api.call.transactionPaymentApi.queryFeeDetails(u8a, u8a.length);
|
|
110
118
|
const { operationalFeeMultiplier } = api.consts.transactionPayment;
|
|
111
119
|
if (inclusionFee.isNone) {
|
|
112
120
|
// This is an unsigned_extrinsic, and does not have priority
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTransactionPoolService.js","sourceRoot":"","sources":["../../../../src/services/node/NodeTransactionPoolService.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
|
+
{"version":3,"file":"NodeTransactionPoolService.js","sourceRoot":"","sources":["../../../../src/services/node/NodeTransactionPoolService.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,10 +61,8 @@ describe('NodeTransactionPoolService', () => {
|
|
|
61
61
|
operationalExt,
|
|
62
62
|
]);
|
|
63
63
|
mock_1.defaultMockApi.rpc.author.pendingExtrinsics = () => Promise.resolve().then(() => pool);
|
|
64
|
-
mock_1.defaultMockApi.rpc.payment.queryInfo = mock_1.queryInfoCouncilVote;
|
|
65
64
|
expect((0, sanitizeNumbers_1.sanitizeNumbers)(await nodeTranstionPoolService.fetchTransactionPool(true))).toStrictEqual(transactionPoolWithTipOperational_json_1.default);
|
|
66
65
|
mock_1.defaultMockApi.rpc.author.pendingExtrinsics = mock_1.pendingExtrinsics;
|
|
67
|
-
mock_1.defaultMockApi.rpc.payment.queryInfo = mock_1.queryInfoBalancesTransfer;
|
|
68
66
|
});
|
|
69
67
|
});
|
|
70
68
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTransactionPoolService.spec.js","sourceRoot":"","sources":["../../../../src/services/node/NodeTransactionPoolService.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;;;;;AAExE,uDAAuD;AACvD,+DAA+D;AAC/D,oEAAiE;AACjE,8DAAsE;AACtE,+
|
|
1
|
+
{"version":3,"file":"NodeTransactionPoolService.spec.js","sourceRoot":"","sources":["../../../../src/services/node/NodeTransactionPoolService.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ApiDecoration } from '@polkadot/api/types';
|
|
2
|
+
import { BlockHash } from '@polkadot/types/interfaces';
|
|
3
|
+
import { IPalletErrors, IPalletErrorsItem } from 'src/types/responses';
|
|
4
|
+
import { AbstractPalletsService } from '../AbstractPalletsService';
|
|
5
|
+
interface IFetchPalletArgs {
|
|
6
|
+
hash: BlockHash;
|
|
7
|
+
palletId: string;
|
|
8
|
+
}
|
|
9
|
+
interface IFetchErrorItemArgs extends IFetchPalletArgs {
|
|
10
|
+
errorItemId: string;
|
|
11
|
+
metadata: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare class PalletsErrorsService extends AbstractPalletsService {
|
|
14
|
+
fetchErrorItem(historicApi: ApiDecoration<'promise'>, { hash, palletId, errorItemId, metadata }: IFetchErrorItemArgs): Promise<IPalletErrorsItem>;
|
|
15
|
+
fetchErrors(historicApi: ApiDecoration<'promise'>, { hash, palletId, onlyIds }: IFetchPalletArgs & {
|
|
16
|
+
onlyIds: boolean;
|
|
17
|
+
}): Promise<IPalletErrors>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|