@substrate/api-sidecar 12.4.1 → 13.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.
- package/README.md +3 -3
- package/build/package.json +7 -9
- package/build/src/SidecarConfig.js +1 -1
- package/build/src/SidecarConfig.js.map +1 -1
- package/build/src/Specs.js +3 -3
- package/build/src/Specs.js.map +1 -1
- package/build/src/chains-config/acalaControllers.js +3 -2
- package/build/src/chains-config/acalaControllers.js.map +1 -1
- package/build/src/chains-config/astarControllers.js +3 -2
- package/build/src/chains-config/astarControllers.js.map +1 -1
- package/build/src/chains-config/bifrostControllers.js +3 -2
- package/build/src/chains-config/bifrostControllers.js.map +1 -1
- package/build/src/chains-config/bifrostPolkadotControllers.d.ts +5 -0
- package/build/src/chains-config/bifrostPolkadotControllers.js +49 -0
- package/build/src/chains-config/bifrostPolkadotControllers.js.map +1 -0
- package/build/src/chains-config/cache/QueryFeeDetailsCache.d.ts +55 -0
- package/build/src/chains-config/cache/QueryFeeDetailsCache.js +80 -0
- package/build/src/chains-config/cache/QueryFeeDetailsCache.js.map +1 -0
- package/build/src/chains-config/cache/QueryFeeDetailsCache.spec.d.ts +1 -0
- package/build/src/chains-config/cache/QueryFeeDetailsCache.spec.js +47 -0
- package/build/src/chains-config/cache/QueryFeeDetailsCache.spec.js.map +1 -0
- package/build/src/chains-config/cache/index.d.ts +2 -0
- package/build/src/chains-config/cache/index.js +19 -0
- package/build/src/chains-config/cache/index.js.map +1 -0
- package/build/src/chains-config/calamariControllers.js +3 -2
- package/build/src/chains-config/calamariControllers.js.map +1 -1
- package/build/src/chains-config/crustControllers.js +3 -2
- package/build/src/chains-config/crustControllers.js.map +1 -1
- package/build/src/chains-config/defaultControllers.js +3 -2
- package/build/src/chains-config/defaultControllers.js.map +1 -1
- package/build/src/chains-config/dockMainnetControllers.js +3 -2
- package/build/src/chains-config/dockMainnetControllers.js.map +1 -1
- package/build/src/chains-config/dockPoSMainnetControllers.js +3 -2
- package/build/src/chains-config/dockPoSMainnetControllers.js.map +1 -1
- package/build/src/chains-config/dockPoSTestnetControllers.js +3 -2
- package/build/src/chains-config/dockPoSTestnetControllers.js.map +1 -1
- package/build/src/chains-config/heikoControllers.d.ts +5 -0
- package/build/src/chains-config/heikoControllers.js +52 -0
- package/build/src/chains-config/heikoControllers.js.map +1 -0
- package/build/src/chains-config/index.js +6 -0
- package/build/src/chains-config/index.js.map +1 -1
- package/build/src/chains-config/karuraControllers.js +3 -2
- package/build/src/chains-config/karuraControllers.js.map +1 -1
- package/build/src/chains-config/kiltControllers.js +3 -2
- package/build/src/chains-config/kiltControllers.js.map +1 -1
- package/build/src/chains-config/kulupuControllers.js +3 -2
- package/build/src/chains-config/kulupuControllers.js.map +1 -1
- package/build/src/chains-config/kusamaControllers.js +3 -2
- package/build/src/chains-config/kusamaControllers.js.map +1 -1
- package/build/src/chains-config/mandalaControllers.js +3 -2
- package/build/src/chains-config/mandalaControllers.js.map +1 -1
- package/build/src/chains-config/mantaControllers.js +3 -2
- package/build/src/chains-config/mantaControllers.js.map +1 -1
- package/build/src/chains-config/parallelControllers.d.ts +5 -0
- package/build/src/chains-config/parallelControllers.js +52 -0
- package/build/src/chains-config/parallelControllers.js.map +1 -0
- package/build/src/chains-config/polkadotControllers.js +3 -2
- package/build/src/chains-config/polkadotControllers.js.map +1 -1
- package/build/src/chains-config/polymeshControllers.js +3 -2
- package/build/src/chains-config/polymeshControllers.js.map +1 -1
- package/build/src/chains-config/shidenControllers.js +3 -2
- package/build/src/chains-config/shidenControllers.js.map +1 -1
- package/build/src/chains-config/soraControllers.js +3 -2
- package/build/src/chains-config/soraControllers.js.map +1 -1
- package/build/src/chains-config/statemineControllers.js +3 -2
- package/build/src/chains-config/statemineControllers.js.map +1 -1
- package/build/src/chains-config/statemintControllers.js +3 -2
- package/build/src/chains-config/statemintControllers.js.map +1 -1
- package/build/src/chains-config/westendControllers.js +3 -2
- package/build/src/chains-config/westendControllers.js.map +1 -1
- package/build/src/controllers/AbstractController.js +5 -1
- package/build/src/controllers/AbstractController.js.map +1 -1
- package/build/src/controllers/blocks/BlocksController.d.ts +1 -8
- package/build/src/controllers/blocks/BlocksController.js +4 -10
- package/build/src/controllers/blocks/BlocksController.js.map +1 -1
- package/build/src/controllers/blocks/BlocksExtrinsicsController.d.ts +1 -7
- package/build/src/controllers/blocks/BlocksExtrinsicsController.js +2 -4
- package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
- package/build/src/logging/transformers/index.js +5 -1
- package/build/src/logging/transformers/index.js.map +1 -1
- package/build/src/logging/transformers/nodeUtilFormat.js +5 -1
- package/build/src/logging/transformers/nodeUtilFormat.js.map +1 -1
- package/build/src/logging/transformers/stripAnsi.js +15 -0
- package/build/src/logging/transformers/stripAnsi.js.map +1 -1
- package/build/src/logging/transports/index.js +5 -1
- package/build/src/logging/transports/index.js.map +1 -1
- package/build/src/main.js +15 -10
- package/build/src/main.js.map +1 -1
- package/build/src/middleware/index.js +5 -1
- package/build/src/middleware/index.js.map +1 -1
- package/build/src/middleware/logger/httpLogger.js +5 -1
- package/build/src/middleware/logger/httpLogger.js.map +1 -1
- package/build/src/sanitize/index.js +5 -1
- package/build/src/sanitize/index.js.map +1 -1
- package/build/src/services/accounts/index.js +5 -1
- package/build/src/services/accounts/index.js.map +1 -1
- package/build/src/services/blocks/BlocksService.d.ts +29 -50
- package/build/src/services/blocks/BlocksService.js +81 -147
- package/build/src/services/blocks/BlocksService.js.map +1 -1
- package/build/src/services/blocks/BlocksService.spec.js +17 -81
- package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
- package/build/src/services/blocks/index.js +5 -1
- package/build/src/services/blocks/index.js.map +1 -1
- package/build/src/services/blocks/trace/index.js +5 -1
- package/build/src/services/blocks/trace/index.js.map +1 -1
- package/build/src/services/index.js +5 -1
- package/build/src/services/index.js.map +1 -1
- package/build/src/services/node/index.js +5 -1
- package/build/src/services/node/index.js.map +1 -1
- package/build/src/services/pallets/PalletsStakingProgressService.js +3 -3
- package/build/src/services/pallets/PalletsStakingProgressService.js.map +1 -1
- package/build/src/services/pallets/index.js +5 -1
- package/build/src/services/pallets/index.js.map +1 -1
- package/build/src/services/paras/ParasService.js +1 -1
- package/build/src/services/paras/ParasService.js.map +1 -1
- package/build/src/services/paras/index.js +5 -1
- package/build/src/services/paras/index.js.map +1 -1
- package/build/src/services/runtime/index.js +5 -1
- package/build/src/services/runtime/index.js.map +1 -1
- package/build/src/services/transaction/TransactionDryRunService.js +3 -3
- package/build/src/services/transaction/TransactionDryRunService.js.map +1 -1
- package/build/src/services/transaction/index.js +5 -1
- package/build/src/services/transaction/index.js.map +1 -1
- package/build/src/types/chains-config/ControllerConfig.d.ts +20 -8
- package/build/src/types/chains-config/index.js +5 -1
- package/build/src/types/chains-config/index.js.map +1 -1
- package/build/src/types/errors/index.js +5 -1
- package/build/src/types/errors/index.js.map +1 -1
- package/build/src/types/logging/index.js +5 -1
- package/build/src/types/logging/index.js.map +1 -1
- package/build/src/types/polkadot-js/index.js +5 -1
- package/build/src/types/polkadot-js/index.js.map +1 -1
- package/build/src/types/responses/index.js +5 -1
- package/build/src/types/responses/index.js.map +1 -1
- package/build/src/types/sanitize/index.js +5 -1
- package/build/src/types/sanitize/index.js.map +1 -1
- package/build/src/types/sidecar-config/CONFIG.d.ts +1 -1
- package/build/src/types/sidecar-config/CONFIG.js +1 -1
- package/build/src/types/sidecar-config/CONFIG.js.map +1 -1
- package/build/src/types/sidecar-config/SidecarConfig.d.ts +1 -1
- package/build/src/types/sidecar-config/index.js +5 -1
- package/build/src/types/sidecar-config/index.js.map +1 -1
- package/build/src/types/util/PaysFee.js +1 -2
- package/build/src/types/util/PaysFee.js.map +1 -1
- package/build/src/types/util/index.js +5 -1
- package/build/src/types/util/index.js.map +1 -1
- package/package.json +7 -9
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { ApiPromise } from '@polkadot/api';
|
|
2
|
-
import LRU from 'lru-cache';
|
|
3
2
|
import { BlocksService } from '../../services';
|
|
4
|
-
import {
|
|
3
|
+
import { ControllerOptions } from '../../types/chains-config';
|
|
5
4
|
import AbstractController from '../AbstractController';
|
|
6
|
-
interface ControllerOptions {
|
|
7
|
-
finalizes: boolean;
|
|
8
|
-
minCalcFeeRuntime: null | number;
|
|
9
|
-
blockStore: LRU<string, IBlock>;
|
|
10
|
-
}
|
|
11
5
|
/**
|
|
12
6
|
* GET a block.
|
|
13
7
|
*
|
|
@@ -107,4 +101,3 @@ export default class BlocksController extends AbstractController<BlocksService>
|
|
|
107
101
|
*/
|
|
108
102
|
private getBlocks;
|
|
109
103
|
}
|
|
110
|
-
export {};
|
|
@@ -84,7 +84,7 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
|
84
84
|
*/
|
|
85
85
|
class BlocksController extends AbstractController_1.default {
|
|
86
86
|
constructor(api, options) {
|
|
87
|
-
super(api, '/blocks', new services_1.BlocksService(api, options.minCalcFeeRuntime, options.blockStore));
|
|
87
|
+
super(api, '/blocks', new services_1.BlocksService(api, options.minCalcFeeRuntime, options.blockStore, options.hasQueryFeeApi));
|
|
88
88
|
this.options = options;
|
|
89
89
|
/**
|
|
90
90
|
* Get the latest block.
|
|
@@ -92,10 +92,9 @@ class BlocksController extends AbstractController_1.default {
|
|
|
92
92
|
* @param _req Express Request
|
|
93
93
|
* @param res Express Response
|
|
94
94
|
*/
|
|
95
|
-
this.getLatestBlock = async ({ query: { eventDocs, extrinsicDocs, finalized
|
|
95
|
+
this.getLatestBlock = async ({ query: { eventDocs, extrinsicDocs, finalized } }, res) => {
|
|
96
96
|
const eventDocsArg = eventDocs === 'true';
|
|
97
97
|
const extrinsicDocsArg = extrinsicDocs === 'true';
|
|
98
|
-
const getFeeByEvent = feeByEvent === 'true';
|
|
99
98
|
let hash, queryFinalizedHead, omitFinalizedTag;
|
|
100
99
|
if (!this.options.finalizes) {
|
|
101
100
|
// If the network chain doesn't finalize blocks, we dont want a finalized tag.
|
|
@@ -122,7 +121,6 @@ class BlocksController extends AbstractController_1.default {
|
|
|
122
121
|
checkFinalized: false,
|
|
123
122
|
queryFinalizedHead,
|
|
124
123
|
omitFinalizedTag,
|
|
125
|
-
getFeeByEvent,
|
|
126
124
|
};
|
|
127
125
|
const historicApi = await this.api.at(hash);
|
|
128
126
|
BlocksController.sanitizedSend(res, await this.service.fetchBlock(hash, historicApi, options));
|
|
@@ -133,12 +131,11 @@ class BlocksController extends AbstractController_1.default {
|
|
|
133
131
|
* @param req Express Request
|
|
134
132
|
* @param res Express Response
|
|
135
133
|
*/
|
|
136
|
-
this.getBlockById = async ({ params: { number }, query: { eventDocs, extrinsicDocs
|
|
134
|
+
this.getBlockById = async ({ params: { number }, query: { eventDocs, extrinsicDocs } }, res) => {
|
|
137
135
|
const checkFinalized = (0, util_1.isHex)(number);
|
|
138
136
|
const hash = await this.getHashForBlock(number);
|
|
139
137
|
const eventDocsArg = eventDocs === 'true';
|
|
140
138
|
const extrinsicDocsArg = extrinsicDocs === 'true';
|
|
141
|
-
const getFeeByEvent = feeByEvent === 'true';
|
|
142
139
|
const queryFinalizedHead = !this.options.finalizes ? false : true;
|
|
143
140
|
const omitFinalizedTag = !this.options.finalizes ? true : false;
|
|
144
141
|
const options = {
|
|
@@ -147,7 +144,6 @@ class BlocksController extends AbstractController_1.default {
|
|
|
147
144
|
checkFinalized,
|
|
148
145
|
queryFinalizedHead,
|
|
149
146
|
omitFinalizedTag,
|
|
150
|
-
getFeeByEvent,
|
|
151
147
|
};
|
|
152
148
|
// HistoricApi to fetch any historic information that doesnt include the current runtime
|
|
153
149
|
const historicApi = await this.api.at(hash);
|
|
@@ -183,14 +179,13 @@ class BlocksController extends AbstractController_1.default {
|
|
|
183
179
|
* @param req Express Request
|
|
184
180
|
* @param res Express Response
|
|
185
181
|
*/
|
|
186
|
-
this.getBlocks = async ({ query: { range, eventDocs, extrinsicDocs
|
|
182
|
+
this.getBlocks = async ({ query: { range, eventDocs, extrinsicDocs } }, res) => {
|
|
187
183
|
if (!range)
|
|
188
184
|
throw new http_errors_1.BadRequest('range query parameter must be inputted.');
|
|
189
185
|
// We set a max range to 500 blocks.
|
|
190
186
|
const rangeOfNums = this.parseRangeOfNumbersOrThrow(range, 500);
|
|
191
187
|
const eventDocsArg = eventDocs === 'true';
|
|
192
188
|
const extrinsicDocsArg = extrinsicDocs === 'true';
|
|
193
|
-
const getFeeByEvent = feeByEvent === 'true';
|
|
194
189
|
const queryFinalizedHead = !this.options.finalizes ? false : true;
|
|
195
190
|
const omitFinalizedTag = !this.options.finalizes ? true : false;
|
|
196
191
|
const options = {
|
|
@@ -199,7 +194,6 @@ class BlocksController extends AbstractController_1.default {
|
|
|
199
194
|
checkFinalized: false,
|
|
200
195
|
queryFinalizedHead,
|
|
201
196
|
omitFinalizedTag,
|
|
202
|
-
getFeeByEvent,
|
|
203
197
|
};
|
|
204
198
|
const pQueue = new PromiseQueue_1.PromiseQueue(4);
|
|
205
199
|
const blocksPromise = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlocksController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksController.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,yCAAuC;AAEvC,6CAAyC;
|
|
1
|
+
{"version":3,"file":"BlocksController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { ApiPromise } from '@polkadot/api';
|
|
2
|
-
import LRU from 'lru-cache';
|
|
3
|
-
import { IBlock } from 'src/types/responses';
|
|
4
2
|
import { BlocksService } from '../../services';
|
|
3
|
+
import { ControllerOptions } from '../../types/chains-config';
|
|
5
4
|
import AbstractController from '../AbstractController';
|
|
6
|
-
interface ControllerOptions {
|
|
7
|
-
minCalcFeeRuntime: null | number;
|
|
8
|
-
blockStore: LRU<string, IBlock>;
|
|
9
|
-
}
|
|
10
5
|
export default class BlocksExtrinsicsController extends AbstractController<BlocksService> {
|
|
11
6
|
constructor(api: ApiPromise, options: ControllerOptions);
|
|
12
7
|
protected initRoutes(): void;
|
|
@@ -17,4 +12,3 @@ export default class BlocksExtrinsicsController extends AbstractController<Block
|
|
|
17
12
|
*/
|
|
18
13
|
private getExtrinsicByTimepoint;
|
|
19
14
|
}
|
|
20
|
-
export {};
|
|
@@ -22,24 +22,22 @@ const services_1 = require("../../services");
|
|
|
22
22
|
const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
23
23
|
class BlocksExtrinsicsController extends AbstractController_1.default {
|
|
24
24
|
constructor(api, options) {
|
|
25
|
-
super(api, '/blocks/:blockId/extrinsics', new services_1.BlocksService(api, options.minCalcFeeRuntime, options.blockStore));
|
|
25
|
+
super(api, '/blocks/:blockId/extrinsics', new services_1.BlocksService(api, options.minCalcFeeRuntime, options.blockStore, options.hasQueryFeeApi));
|
|
26
26
|
/**
|
|
27
27
|
*
|
|
28
28
|
* @param _req Express Request
|
|
29
29
|
* @param res Express Response
|
|
30
30
|
*/
|
|
31
|
-
this.getExtrinsicByTimepoint = async ({ params: { blockId, extrinsicIndex }, query: { eventDocs, extrinsicDocs
|
|
31
|
+
this.getExtrinsicByTimepoint = async ({ params: { blockId, extrinsicIndex }, query: { eventDocs, extrinsicDocs }, }, res) => {
|
|
32
32
|
const hash = await this.getHashForBlock(blockId);
|
|
33
33
|
const eventDocsArg = eventDocs === 'true';
|
|
34
34
|
const extrinsicDocsArg = extrinsicDocs === 'true';
|
|
35
|
-
const getFeeByEvent = feeByEvent === 'true';
|
|
36
35
|
const options = {
|
|
37
36
|
eventDocs: eventDocsArg,
|
|
38
37
|
extrinsicDocs: extrinsicDocsArg,
|
|
39
38
|
checkFinalized: true,
|
|
40
39
|
queryFinalizedHead: false,
|
|
41
40
|
omitFinalizedTag: true,
|
|
42
|
-
getFeeByEvent,
|
|
43
41
|
};
|
|
44
42
|
const historicApi = await this.api.at(hash);
|
|
45
43
|
const block = await this.service.fetchBlock(hash, historicApi, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlocksExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksExtrinsicsController.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":"BlocksExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksExtrinsicsController.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,6CAA+C;AAG/C,+EAAuD;AAEvD,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,cAAc,CACtB,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"}
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logging/transformers/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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logging/transformers/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,iDAA+B;AAC/B,mDAAiC;AACjC,8CAA4B;AAC5B,mDAAiC;AACjC,8CAA4B"}
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeUtilFormat.js","sourceRoot":"","sources":["../../../../src/logging/transformers/nodeUtilFormat.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":"nodeUtilFormat.js","sourceRoot":"","sources":["../../../../src/logging/transformers/nodeUtilFormat.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,6CAAoC;AACpC,+BAA8B;AAC9B,iDAAmC;AAInC;;;GAGG;AACU,QAAA,cAAc,GAAG,OAAO,CAAC,MAAM,CAC3C,CAAC,IAAwB,EAAE,KAAc,EAAE,EAAE;IAC5C,mEAAmE;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,mBAA0B,CAAC,CAAC;IAC9C,IAAI,IAAI,EAAE;QACT,iEAAiE;QACjE,IAAI,CAAC,OAAO,GAAG,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;KAC7C;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CACD,CAAC"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
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/>.
|
|
2
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
18
|
exports.stripAnsi = void 0;
|
|
4
19
|
const winston_1 = require("winston");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripAnsi.js","sourceRoot":"","sources":["../../../../src/logging/transformers/stripAnsi.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"stripAnsi.js","sourceRoot":"","sources":["../../../../src/logging/transformers/stripAnsi.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,qCAAiC;AAIjC;;GAEG;AACH,MAAM,OAAO,GAAG;IACf,6FAA6F;IAC7F,0DAA0D;CAC1D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAE3C;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,IAAa;IACzC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;QACxC,OAAO,IAAI,CAAC;KACZ;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;KACnC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;KACnD;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;QAC9C,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,aAAa,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;SAC1C;QACD,OAAO,aAAa,CAAC;KACrB;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACU,QAAA,SAAS,GAAG,IAAA,gBAAM,EAAC,CAAC,IAAwB,EAAE,KAAc,EAAE,EAAE;IAC5E,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAW,CAAC;IAC3D,OAAO,IAAI,CAAC;AACb,CAAC,CAAC,CAAC"}
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
|
@@ -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
|
|
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"}
|
package/build/src/main.js
CHANGED
|
@@ -17,7 +17,11 @@
|
|
|
17
17
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
18
18
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
19
19
|
if (k2 === undefined) k2 = k;
|
|
20
|
-
Object.
|
|
20
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
21
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
22
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
23
|
+
}
|
|
24
|
+
Object.defineProperty(o, k2, desc);
|
|
21
25
|
}) : (function(o, m, k, k2) {
|
|
22
26
|
if (k2 === undefined) k2 = k;
|
|
23
27
|
o[k2] = m[k];
|
|
@@ -60,7 +64,9 @@ async function main() {
|
|
|
60
64
|
const { TYPES_BUNDLE, TYPES_SPEC, TYPES_CHAIN, TYPES } = config.SUBSTRATE;
|
|
61
65
|
// Instantiate a web socket connection to the node and load types
|
|
62
66
|
const api = await api_1.ApiPromise.create({
|
|
63
|
-
provider:
|
|
67
|
+
provider: config.SUBSTRATE.URL.startsWith('http')
|
|
68
|
+
? new rpc_provider_1.HttpProvider(config.SUBSTRATE.URL)
|
|
69
|
+
: new rpc_provider_1.WsProvider(config.SUBSTRATE.URL),
|
|
64
70
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
65
71
|
typesBundle: TYPES_BUNDLE
|
|
66
72
|
? require(TYPES_BUNDLE)
|
|
@@ -79,7 +85,7 @@ async function main() {
|
|
|
79
85
|
api.rpc.system.chain(),
|
|
80
86
|
api.rpc.state.getRuntimeVersion(),
|
|
81
87
|
]);
|
|
82
|
-
startUpPrompt(config.SUBSTRATE.
|
|
88
|
+
startUpPrompt(config.SUBSTRATE.URL, chainName.toString(), implName.toString());
|
|
83
89
|
// Create our App
|
|
84
90
|
const app = new App_1.default({
|
|
85
91
|
preMiddleware: [(0, express_1.json)(), middleware.httpLoggerCreate(logger)],
|
|
@@ -101,22 +107,21 @@ async function main() {
|
|
|
101
107
|
* Prompt the user with some basic info about the node and the network they have
|
|
102
108
|
* connected Sidecar to.
|
|
103
109
|
*
|
|
104
|
-
* @param
|
|
110
|
+
* @param url Url of the node Sidecar is connected to, can be a websocket or http address
|
|
105
111
|
* @param chainName chain name of the network Sidecar is connected to
|
|
106
112
|
* @param implName implementation name of the node Sidecar is connected to
|
|
107
113
|
*/
|
|
108
|
-
function startUpPrompt(
|
|
114
|
+
function startUpPrompt(url, chainName, implName) {
|
|
109
115
|
const { logger } = Log_1.Log;
|
|
110
|
-
|
|
111
|
-
logger.info(`Connected to chain ${chainName} on the ${implName} client at ${config.SUBSTRATE.WS_URL}`);
|
|
116
|
+
logger.info(`Connected to chain ${chainName} on the ${implName} client at ${url}`);
|
|
112
117
|
// Split the Url to check for 2 things. Secure connection, and if its a local IP.
|
|
113
|
-
const splitUrl =
|
|
118
|
+
const splitUrl = url.split(':');
|
|
114
119
|
// If its 'ws' its not a secure connection.
|
|
115
|
-
const isSecure = splitUrl[0] === 'wss';
|
|
120
|
+
const isSecure = splitUrl[0] === 'wss' || splitUrl[0] === 'https';
|
|
116
121
|
// Check if its a local IP.
|
|
117
122
|
const isLocal = splitUrl[1] === '//127.0.0.1' || splitUrl[1] === '//localhost';
|
|
118
123
|
if (!isSecure && !isLocal) {
|
|
119
|
-
logger.warn(`Using unencrypted connection to a public node (${
|
|
124
|
+
logger.warn(`Using unencrypted connection to a public node (${url}); All traffic is sent over the internet in cleartext.`);
|
|
120
125
|
}
|
|
121
126
|
}
|
|
122
127
|
process.on('SIGINT', function () {
|
package/build/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;AAEA,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":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/middleware/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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/middleware/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,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B"}
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpLogger.js","sourceRoot":"","sources":["../../../../src/middleware/logger/httpLogger.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":"httpLogger.js","sourceRoot":"","sources":["../../../../src/middleware/logger/httpLogger.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,gEAAkD;AAG3C,MAAM,gBAAgB,GAAG,CAAC,eAA+B,EAAa,EAAE,CAC9E,cAAc,CAAC,MAAM,CAAC;IACrB,cAAc;IACd,eAAe;IACf,GAAG,EAAE,0EAA0E;IAC/E,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACpB,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QAC3B,IAAI,UAAU,GAAG,GAAG,EAAE;YACrB,6FAA6F;YAC7F,OAAO,MAAM,CAAC;SACd;QACD,IAAI,UAAU,GAAG,GAAG,EAAE;YACrB,OAAO,MAAM,CAAC;SACd;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAC,CAAC;AAjBS,QAAA,gBAAgB,oBAiBzB"}
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sanitize/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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sanitize/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,oDAAkC"}
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/accounts/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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/accounts/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,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAC7C,kEAAgD;AAChD,4DAA0C;AAC1C,+DAA6C"}
|
|
@@ -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
|
-
|
|
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,
|
|
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.
|