@substrate/api-sidecar 20.3.1 → 20.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/build/package.json +9 -19
- package/build/src/chains-config/assetHubKusamaControllers.js +17 -0
- package/build/src/chains-config/assetHubKusamaControllers.js.map +1 -1
- package/build/src/chains-config/assetHubNextWestendControllers.js +18 -0
- package/build/src/chains-config/assetHubNextWestendControllers.js.map +1 -1
- package/build/src/chains-config/assetHubPolkadotControllers.js +17 -0
- package/build/src/chains-config/assetHubPolkadotControllers.js.map +1 -1
- package/build/src/chains-config/assetHubWestendControllers.js +18 -0
- package/build/src/chains-config/assetHubWestendControllers.js.map +1 -1
- package/build/src/chains-config/index.d.ts +6 -0
- package/build/src/chains-config/index.js +24 -1
- package/build/src/chains-config/index.js.map +1 -1
- package/build/src/controllers/AbstractController.d.ts +13 -2
- package/build/src/controllers/AbstractController.js +73 -13
- package/build/src/controllers/AbstractController.js.map +1 -1
- package/build/src/controllers/accounts/AccountsAssetsController.d.ts +16 -0
- package/build/src/controllers/accounts/AccountsAssetsController.js +75 -8
- package/build/src/controllers/accounts/AccountsAssetsController.js.map +1 -1
- package/build/src/controllers/accounts/AccountsBalanceInfoController.d.ts +9 -0
- package/build/src/controllers/accounts/AccountsBalanceInfoController.js +50 -10
- package/build/src/controllers/accounts/AccountsBalanceInfoController.js.map +1 -1
- package/build/src/controllers/accounts/AccountsPoolAssetsController.d.ts +15 -0
- package/build/src/controllers/accounts/AccountsPoolAssetsController.js +74 -8
- package/build/src/controllers/accounts/AccountsPoolAssetsController.js.map +1 -1
- package/build/src/controllers/accounts/AccountsProxyInfoController.d.ts +1 -1
- package/build/src/controllers/accounts/AccountsProxyInfoController.js +30 -5
- package/build/src/controllers/accounts/AccountsProxyInfoController.js.map +1 -1
- package/build/src/controllers/accounts/AccountsStakingInfoController.d.ts +9 -0
- package/build/src/controllers/accounts/AccountsStakingInfoController.js +47 -6
- package/build/src/controllers/accounts/AccountsStakingInfoController.js.map +1 -1
- package/build/src/controllers/accounts/AccountsStakingPayoutsController.d.ts +9 -0
- package/build/src/controllers/accounts/AccountsStakingPayoutsController.js +71 -14
- package/build/src/controllers/accounts/AccountsStakingPayoutsController.js.map +1 -1
- package/build/src/controllers/accounts/AccountsVestingInfoController.d.ts +8 -0
- package/build/src/controllers/accounts/AccountsVestingInfoController.js +36 -8
- package/build/src/controllers/accounts/AccountsVestingInfoController.js.map +1 -1
- package/build/src/controllers/blocks/BlocksController.d.ts +10 -0
- package/build/src/controllers/blocks/BlocksController.js +244 -23
- package/build/src/controllers/blocks/BlocksController.js.map +1 -1
- package/build/src/controllers/blocks/BlocksExtrinsicsController.js +95 -36
- package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
- package/build/src/controllers/blocks/BlocksRawExtrinsicsController.js +29 -4
- package/build/src/controllers/blocks/BlocksRawExtrinsicsController.js.map +1 -1
- package/build/src/controllers/controllerInjection.spec.js +5 -1
- package/build/src/controllers/controllerInjection.spec.js.map +1 -1
- package/build/src/controllers/index.d.ts +23 -0
- package/build/src/controllers/index.js +27 -4
- package/build/src/controllers/index.js.map +1 -1
- package/build/src/controllers/pallets/PalletsAssetConversionController.js +58 -6
- package/build/src/controllers/pallets/PalletsAssetConversionController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsAssetsController.d.ts +8 -0
- package/build/src/controllers/pallets/PalletsAssetsController.js +38 -3
- package/build/src/controllers/pallets/PalletsAssetsController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsConstsController.js +82 -18
- package/build/src/controllers/pallets/PalletsConstsController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsDispatchablesController.d.ts +0 -8
- package/build/src/controllers/pallets/PalletsDispatchablesController.js +82 -28
- package/build/src/controllers/pallets/PalletsDispatchablesController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsErrorsController.js +82 -18
- package/build/src/controllers/pallets/PalletsErrorsController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsEventsController.js +82 -18
- package/build/src/controllers/pallets/PalletsEventsController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsForeignAssetsController.d.ts +8 -0
- package/build/src/controllers/pallets/PalletsForeignAssetsController.js +38 -3
- package/build/src/controllers/pallets/PalletsForeignAssetsController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsNominationPoolsController.js +58 -6
- package/build/src/controllers/pallets/PalletsNominationPoolsController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsOnGoingReferendaController.js +30 -3
- package/build/src/controllers/pallets/PalletsOnGoingReferendaController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsPoolAssetsController.js +30 -3
- package/build/src/controllers/pallets/PalletsPoolAssetsController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsStakingProgressController.d.ts +1 -1
- package/build/src/controllers/pallets/PalletsStakingProgressController.js +30 -8
- package/build/src/controllers/pallets/PalletsStakingProgressController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsStakingValidatorsController.js +30 -3
- package/build/src/controllers/pallets/PalletsStakingValidatorsController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsStorageController.js +84 -19
- package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
- package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.d.ts +15 -0
- package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.js +65 -0
- package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.js.map +1 -0
- package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.d.ts +15 -0
- package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.js +59 -0
- package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.js.map +1 -0
- package/build/src/controllers/rc/accounts/index.d.ts +2 -0
- package/build/src/controllers/rc/accounts/index.js +26 -0
- package/build/src/controllers/rc/accounts/index.js.map +1 -0
- package/build/src/controllers/rc/blocks/RcBlocksController.d.ts +17 -0
- package/build/src/controllers/rc/blocks/RcBlocksController.js +263 -0
- package/build/src/controllers/rc/blocks/RcBlocksController.js.map +1 -0
- package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.d.ts +11 -0
- package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.js +80 -0
- package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.js.map +1 -0
- package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.d.ts +10 -0
- package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.js +60 -0
- package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.js.map +1 -0
- package/build/src/controllers/rc/blocks/RcBlocksTraceController.d.ts +12 -0
- package/build/src/controllers/rc/blocks/RcBlocksTraceController.js +89 -0
- package/build/src/controllers/rc/blocks/RcBlocksTraceController.js.map +1 -0
- package/build/src/controllers/rc/blocks/index.d.ts +4 -0
- package/build/src/controllers/rc/blocks/index.js +30 -0
- package/build/src/controllers/rc/blocks/index.js.map +1 -0
- package/build/src/controllers/rc/index.d.ts +4 -0
- package/build/src/controllers/rc/index.js +36 -0
- package/build/src/controllers/rc/index.js.map +1 -0
- package/build/src/controllers/rc/node/RcNodeNetworkController.d.ts +40 -0
- package/build/src/controllers/rc/node/RcNodeNetworkController.js +76 -0
- package/build/src/controllers/rc/node/RcNodeNetworkController.js.map +1 -0
- package/build/src/controllers/rc/node/RcNodeTransactionPoolController.d.ts +27 -0
- package/build/src/controllers/rc/node/RcNodeTransactionPoolController.js +66 -0
- package/build/src/controllers/rc/node/RcNodeTransactionPoolController.js.map +1 -0
- package/build/src/controllers/rc/node/RcNodeVersionController.d.ts +24 -0
- package/build/src/controllers/rc/node/RcNodeVersionController.js +59 -0
- package/build/src/controllers/rc/node/RcNodeVersionController.js.map +1 -0
- package/build/src/controllers/rc/node/index.d.ts +3 -0
- package/build/src/controllers/rc/node/index.js +13 -0
- package/build/src/controllers/rc/node/index.js.map +1 -0
- package/build/src/controllers/rc/pallets/RcPalletsConstsController.d.ts +10 -0
- package/build/src/controllers/rc/pallets/RcPalletsConstsController.js +79 -0
- package/build/src/controllers/rc/pallets/RcPalletsConstsController.js.map +1 -0
- package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.d.ts +10 -0
- package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.js +79 -0
- package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.js.map +1 -0
- package/build/src/controllers/rc/pallets/RcPalletsErrorsController.d.ts +10 -0
- package/build/src/controllers/rc/pallets/RcPalletsErrorsController.js +79 -0
- package/build/src/controllers/rc/pallets/RcPalletsErrorsController.js.map +1 -0
- package/build/src/controllers/rc/pallets/RcPalletsEventsController.d.ts +10 -0
- package/build/src/controllers/rc/pallets/RcPalletsEventsController.js +79 -0
- package/build/src/controllers/rc/pallets/RcPalletsEventsController.js.map +1 -0
- package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.d.ts +9 -0
- package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.js +52 -0
- package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.js.map +1 -0
- package/build/src/controllers/rc/pallets/RcPalletsStorageController.d.ts +10 -0
- package/build/src/controllers/rc/pallets/RcPalletsStorageController.js +81 -0
- package/build/src/controllers/rc/pallets/RcPalletsStorageController.js.map +1 -0
- package/build/src/controllers/rc/pallets/index.d.ts +6 -0
- package/build/src/controllers/rc/pallets/index.js +34 -0
- package/build/src/controllers/rc/pallets/index.js.map +1 -0
- package/build/src/controllers/rc/runtime/RcRuntimeCodeController.d.ts +26 -0
- package/build/src/controllers/rc/runtime/RcRuntimeCodeController.js +68 -0
- package/build/src/controllers/rc/runtime/RcRuntimeCodeController.js.map +1 -0
- package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.d.ts +47 -0
- package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.js +140 -0
- package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.js.map +1 -0
- package/build/src/controllers/rc/runtime/RcRuntimeSpecController.d.ts +34 -0
- package/build/src/controllers/rc/runtime/RcRuntimeSpecController.js +76 -0
- package/build/src/controllers/rc/runtime/RcRuntimeSpecController.js.map +1 -0
- package/build/src/controllers/rc/runtime/index.d.ts +3 -0
- package/build/src/controllers/rc/runtime/index.js +28 -0
- package/build/src/controllers/rc/runtime/index.js.map +1 -0
- package/build/src/logging/transformers/nodeUtilFormat.js +17 -7
- package/build/src/logging/transformers/nodeUtilFormat.js.map +1 -1
- package/build/src/main.js +21 -7
- package/build/src/main.js.map +1 -1
- package/build/src/metrics/index.js +17 -7
- package/build/src/metrics/index.js.map +1 -1
- package/build/src/middleware/logger/httpLogger.js +17 -7
- package/build/src/middleware/logger/httpLogger.js.map +1 -1
- package/build/src/middleware/validate/index.d.ts +1 -0
- package/build/src/middleware/validate/index.js +3 -1
- package/build/src/middleware/validate/index.js.map +1 -1
- package/build/src/middleware/validate/validateUseRcBlockMiddleware.d.ts +10 -0
- package/build/src/middleware/validate/validateUseRcBlockMiddleware.js +58 -0
- package/build/src/middleware/validate/validateUseRcBlockMiddleware.js.map +1 -0
- package/build/src/services/accounts/AccountsStakingInfoService.js +0 -1
- package/build/src/services/accounts/AccountsStakingInfoService.js.map +1 -1
- package/build/src/services/blocks/BlocksService.js +15 -1
- package/build/src/services/blocks/BlocksService.js.map +1 -1
- package/build/src/services/pallets/PalletsStakingProgressService.d.ts +56 -0
- package/build/src/services/pallets/PalletsStakingProgressService.js +140 -21
- package/build/src/services/pallets/PalletsStakingProgressService.js.map +1 -1
- package/build/src/services/pallets/PalletsStakingProgressService.spec.js +255 -43
- package/build/src/services/pallets/PalletsStakingProgressService.spec.js.map +1 -1
- package/build/src/types/requests.d.ts +1 -0
- package/build/src/types/responses/AccountAssets.d.ts +4 -0
- package/build/src/types/responses/AccountBalanceInfo.d.ts +2 -0
- package/build/src/types/responses/AccountPoolAssets.d.ts +6 -2
- package/build/src/types/responses/AccountProxyInfo.d.ts +2 -0
- package/build/src/types/responses/AccountStakingInfo.d.ts +2 -0
- package/build/src/types/responses/AccountStakingPayouts.d.ts +2 -0
- package/build/src/types/responses/AccountVestingInfo.d.ts +2 -0
- package/build/src/types/responses/PalletStakingProgress.d.ts +2 -0
- package/package.json +9 -19
|
@@ -18,6 +18,7 @@ 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
|
+
const validate_1 = require("../../middleware/validate");
|
|
21
22
|
const services_1 = require("../../services");
|
|
22
23
|
const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
23
24
|
class BlocksRawExtrinsicsController extends AbstractController_1.default {
|
|
@@ -28,10 +29,33 @@ class BlocksRawExtrinsicsController extends AbstractController_1.default {
|
|
|
28
29
|
* @param _req Express Request
|
|
29
30
|
* @param res Express Response
|
|
30
31
|
*/
|
|
31
|
-
this.getBlockRawExtrinsics = async ({ params: { blockId }, method, route }, res) => {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
this.getBlockRawExtrinsics = async ({ params: { blockId }, query: { useRcBlock }, method, route }, res) => {
|
|
33
|
+
const useRcBlockArg = useRcBlock === 'true';
|
|
34
|
+
let rawBlock;
|
|
35
|
+
if (useRcBlockArg) {
|
|
36
|
+
// Treat the blockId parameter as a relay chain block identifier
|
|
37
|
+
const rcBlockNumber = blockId;
|
|
38
|
+
const hash = await this.getAhAtFromRcAt(blockId);
|
|
39
|
+
// Return empty array if no Asset Hub block found
|
|
40
|
+
if (!hash) {
|
|
41
|
+
BlocksRawExtrinsicsController.sanitizedSend(res, []);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
rawBlock = await this.service.fetchBlockRaw(hash);
|
|
45
|
+
const apiAt = await this.api.at(hash);
|
|
46
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
47
|
+
const enhancedResult = {
|
|
48
|
+
...rawBlock,
|
|
49
|
+
rcBlockNumber,
|
|
50
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
51
|
+
};
|
|
52
|
+
BlocksRawExtrinsicsController.sanitizedSend(res, [enhancedResult]);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const hash = await this.getHashForBlock(blockId);
|
|
56
|
+
rawBlock = await this.service.fetchBlockRaw(hash);
|
|
57
|
+
BlocksRawExtrinsicsController.sanitizedSend(res, rawBlock);
|
|
58
|
+
}
|
|
35
59
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
36
60
|
const path = route.path;
|
|
37
61
|
if (res.locals.metrics) {
|
|
@@ -44,6 +68,7 @@ class BlocksRawExtrinsicsController extends AbstractController_1.default {
|
|
|
44
68
|
this.initRoutes();
|
|
45
69
|
}
|
|
46
70
|
initRoutes() {
|
|
71
|
+
this.router.use(this.path, validate_1.validateUseRcBlock);
|
|
47
72
|
this.safeMountAsyncGetHandlers([['', this.getBlockRawExtrinsics]]);
|
|
48
73
|
}
|
|
49
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlocksRawExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksRawExtrinsicsController.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;;;;;AAIxE,6CAA+C;AAG/C,+EAAuD;AAEvD,MAAqB,6BAA8B,SAAQ,4BAAiC;IAG3F,YAAY,GAAW,EAAE,OAA0B;QAClD,KAAK,CACJ,GAAG,EACH,iCAAiC,EACjC,IAAI,wBAAa,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,CACzE,CAAC;
|
|
1
|
+
{"version":3,"file":"BlocksRawExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksRawExtrinsicsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// write tests that get the metadata from an rpc and then inject the metadata into the controller
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
const api_1 = require("@polkadot/api");
|
|
5
|
+
const apiRegistry_1 = require("../apiRegistry");
|
|
5
6
|
const chains_config_1 = require("../chains-config");
|
|
6
7
|
const defaultControllers_1 = require("../chains-config/defaultControllers");
|
|
7
8
|
const _1 = require(".");
|
|
@@ -58,7 +59,7 @@ const chainsToNode = {
|
|
|
58
59
|
'coretime-polkadot': 'wss://sys.ibp.network/coretime-polkadot',
|
|
59
60
|
crust: 'wss://crust-parachain.crustapps.net',
|
|
60
61
|
karura: 'wss://karura-rpc.dwellir.com',
|
|
61
|
-
manta: 'wss://ws.manta.systems',
|
|
62
|
+
// manta: 'wss://ws.manta.systems',
|
|
62
63
|
kilt: 'wss://kilt.ibp.network',
|
|
63
64
|
'asset-hub-polkadot': 'wss://asset-hub-polkadot-rpc.dwellir.com',
|
|
64
65
|
};
|
|
@@ -92,6 +93,9 @@ describe('controllerInjection', () => {
|
|
|
92
93
|
it('should inject default controllers when pallets are not checked (injected-controllers: false) and a custom config is not available', async () => {
|
|
93
94
|
const wsProvider = new api_1.WsProvider('wss://kusama-rpc.dwellir.com');
|
|
94
95
|
const api = await api_1.ApiPromise.create({ provider: wsProvider });
|
|
96
|
+
jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getSpecNameByType').mockImplementation(() => {
|
|
97
|
+
return new Set(['mock_spec']);
|
|
98
|
+
});
|
|
95
99
|
try {
|
|
96
100
|
await api.isReady;
|
|
97
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllerInjection.spec.js","sourceRoot":"","sources":["../../../src/controllers/controllerInjection.spec.ts"],"names":[],"mappings":";AAAA,iGAAiG;;AAEjG,uCAAuD;AAGvD,oDAAuE;AACvE,4EAAyE;AACzE,wBAAgC;AAEhC;;;;;GAKG;AAEH,MAAM,iBAAiB,GAAmB;IACzC,OAAO,EAAE;QACR,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,IAAI;QACV,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,OAAO;QACjB,oBAAoB,EAAE,KAAK;KAC3B;IACD,SAAS,EAAE;QACV,GAAG,EAAE,EAAE;QACP,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,IAAI;KACpB;IACD,GAAG,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,EAAE;QACd,mBAAmB,EAAE,CAAC;QACtB,eAAe,EAAE,CAAC;KAClB;IACD,OAAO,EAAE;QACR,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,CAAC;QACZ,mBAAmB,EAAE,KAAK;KAC1B;CACD,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC5C,kBAAkB,EAAE,wCAAwC;IAC5D,MAAM,EAAE,8BAA8B;IACtC,kEAAkE;IAClE,KAAK,EAAE,6BAA6B;IACpC,gBAAgB,EAAE,oCAAoC;IACtD,QAAQ,EAAE,gCAAgC;IAC1C,kBAAkB,EAAE,wCAAwC;IAC5D,mBAAmB,EAAE,yCAAyC;IAC9D,KAAK,EAAE,qCAAqC;IAC5C,MAAM,EAAE,8BAA8B;IACtC,
|
|
1
|
+
{"version":3,"file":"controllerInjection.spec.js","sourceRoot":"","sources":["../../../src/controllers/controllerInjection.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ import { CoretimeChain, CoretimeGeneric } from './coretime';
|
|
|
5
5
|
import { NodeNetwork, NodeTransactionPool, NodeVersion } from './node';
|
|
6
6
|
import { PalletsAssetConversion, PalletsAssets, PalletsConsts, PalletsDispatchables, PalletsErrors, PalletsEvents, PalletsForeignAssets, PalletsNominationPools, PalletsOnGoingReferenda, PalletsPoolAssets, PalletsStakingProgress, PalletsStakingValidators, PalletsStorage } from './pallets';
|
|
7
7
|
import { Paras } from './paras';
|
|
8
|
+
import { RcAccountsBalanceInfo, RcAccountsProxyInfo } from './rc/accounts';
|
|
9
|
+
import { RcBlocks, RcBlocksExtrinsics, RcBlocksRawExtrinsics, RcBlocksTrace } from './rc/blocks';
|
|
10
|
+
import { RcNodeNetwork, RcNodeTransactionPool, RcNodeVersion } from './rc/node';
|
|
11
|
+
import { RcPalletsConsts, RcPalletsDispatchables, RcPalletsErrors, RcPalletsEvents, RcPalletsOnGoingReferenda, RcPalletsStorage } from './rc/pallets';
|
|
12
|
+
import { RcRuntimeCode, RcRuntimeMetadata, RcRuntimeSpec } from './rc/runtime';
|
|
8
13
|
import { RuntimeCode, RuntimeMetadata, RuntimeSpec } from './runtime';
|
|
9
14
|
import { TransactionDryRun, TransactionFeeEstimate, TransactionMaterial, TransactionSubmit } from './transaction';
|
|
10
15
|
/**
|
|
@@ -42,6 +47,24 @@ export declare const controllers: {
|
|
|
42
47
|
NodeNetwork: typeof NodeNetwork;
|
|
43
48
|
NodeTransactionPool: typeof NodeTransactionPool;
|
|
44
49
|
NodeVersion: typeof NodeVersion;
|
|
50
|
+
RcAccountsBalanceInfo: typeof RcAccountsBalanceInfo;
|
|
51
|
+
RcAccountsProxyInfo: typeof RcAccountsProxyInfo;
|
|
52
|
+
RcBlocks: typeof RcBlocks;
|
|
53
|
+
RcBlocksExtrinsics: typeof RcBlocksExtrinsics;
|
|
54
|
+
RcBlocksRawExtrinsics: typeof RcBlocksRawExtrinsics;
|
|
55
|
+
RcBlocksTrace: typeof RcBlocksTrace;
|
|
56
|
+
RcPalletsConsts: typeof RcPalletsConsts;
|
|
57
|
+
RcPalletsDispatchables: typeof RcPalletsDispatchables;
|
|
58
|
+
RcPalletsErrors: typeof RcPalletsErrors;
|
|
59
|
+
RcPalletsEvents: typeof RcPalletsEvents;
|
|
60
|
+
RcPalletsOnGoingReferenda: typeof RcPalletsOnGoingReferenda;
|
|
61
|
+
RcPalletsStorage: typeof RcPalletsStorage;
|
|
62
|
+
RcRuntimeCode: typeof RcRuntimeCode;
|
|
63
|
+
RcRuntimeMetadata: typeof RcRuntimeMetadata;
|
|
64
|
+
RcRuntimeSpec: typeof RcRuntimeSpec;
|
|
65
|
+
RcNodeNetwork: typeof RcNodeNetwork;
|
|
66
|
+
RcNodeTransactionPool: typeof RcNodeTransactionPool;
|
|
67
|
+
RcNodeVersion: typeof RcNodeVersion;
|
|
45
68
|
RuntimeCode: typeof RuntimeCode;
|
|
46
69
|
RuntimeMetadata: typeof RuntimeMetadata;
|
|
47
70
|
RuntimeSpec: typeof RuntimeSpec;
|
|
@@ -23,7 +23,12 @@ const coretime_1 = require("./coretime");
|
|
|
23
23
|
const node_1 = require("./node");
|
|
24
24
|
const pallets_1 = require("./pallets");
|
|
25
25
|
const paras_1 = require("./paras");
|
|
26
|
-
const
|
|
26
|
+
const accounts_2 = require("./rc/accounts");
|
|
27
|
+
const blocks_2 = require("./rc/blocks");
|
|
28
|
+
const node_2 = require("./rc/node");
|
|
29
|
+
const pallets_2 = require("./rc/pallets");
|
|
30
|
+
const runtime_1 = require("./rc/runtime");
|
|
31
|
+
const runtime_2 = require("./runtime");
|
|
27
32
|
const transaction_1 = require("./transaction");
|
|
28
33
|
/**
|
|
29
34
|
* Object containing every controller class definition.
|
|
@@ -60,9 +65,27 @@ exports.controllers = {
|
|
|
60
65
|
NodeNetwork: node_1.NodeNetwork,
|
|
61
66
|
NodeTransactionPool: node_1.NodeTransactionPool,
|
|
62
67
|
NodeVersion: node_1.NodeVersion,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
RcAccountsBalanceInfo: accounts_2.RcAccountsBalanceInfo,
|
|
69
|
+
RcAccountsProxyInfo: accounts_2.RcAccountsProxyInfo,
|
|
70
|
+
RcBlocks: blocks_2.RcBlocks,
|
|
71
|
+
RcBlocksExtrinsics: blocks_2.RcBlocksExtrinsics,
|
|
72
|
+
RcBlocksRawExtrinsics: blocks_2.RcBlocksRawExtrinsics,
|
|
73
|
+
RcBlocksTrace: blocks_2.RcBlocksTrace,
|
|
74
|
+
RcPalletsConsts: pallets_2.RcPalletsConsts,
|
|
75
|
+
RcPalletsDispatchables: pallets_2.RcPalletsDispatchables,
|
|
76
|
+
RcPalletsErrors: pallets_2.RcPalletsErrors,
|
|
77
|
+
RcPalletsEvents: pallets_2.RcPalletsEvents,
|
|
78
|
+
RcPalletsOnGoingReferenda: pallets_2.RcPalletsOnGoingReferenda,
|
|
79
|
+
RcPalletsStorage: pallets_2.RcPalletsStorage,
|
|
80
|
+
RcRuntimeCode: runtime_1.RcRuntimeCode,
|
|
81
|
+
RcRuntimeMetadata: runtime_1.RcRuntimeMetadata,
|
|
82
|
+
RcRuntimeSpec: runtime_1.RcRuntimeSpec,
|
|
83
|
+
RcNodeNetwork: node_2.RcNodeNetwork,
|
|
84
|
+
RcNodeTransactionPool: node_2.RcNodeTransactionPool,
|
|
85
|
+
RcNodeVersion: node_2.RcNodeVersion,
|
|
86
|
+
RuntimeCode: runtime_2.RuntimeCode,
|
|
87
|
+
RuntimeMetadata: runtime_2.RuntimeMetadata,
|
|
88
|
+
RuntimeSpec: runtime_2.RuntimeSpec,
|
|
66
89
|
TransactionDryRun: transaction_1.TransactionDryRun,
|
|
67
90
|
TransactionFeeEstimate: transaction_1.TransactionFeeEstimate,
|
|
68
91
|
TransactionMaterial: transaction_1.TransactionMaterial,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/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,yCAWoB;AACpB,qCAAsF;AACtF,2CAA2C;AAC3C,yCAA4D;AAC5D,iCAAuE;AACvE,uCAcmB;AACnB,mCAAgC;AAChC,uCAAsE;AACtE,+CAAkH;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/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,yCAWoB;AACpB,qCAAsF;AACtF,2CAA2C;AAC3C,yCAA4D;AAC5D,iCAAuE;AACvE,uCAcmB;AACnB,mCAAgC;AAChC,4CAA2E;AAC3E,wCAAiG;AACjG,oCAAgF;AAChF,0CAOsB;AACtB,0CAA+E;AAC/E,uCAAsE;AACtE,+CAAkH;AAClH;;GAEG;AACU,QAAA,WAAW,GAAG;IAC1B,MAAM,EAAN,eAAM;IACN,gBAAgB,EAAhB,yBAAgB;IAChB,WAAW,EAAX,oBAAW;IACX,mBAAmB,EAAnB,4BAAmB;IACnB,cAAc,EAAd,yBAAc;IACd,mBAAmB,EAAnB,8BAAmB;IACnB,eAAe,EAAf,0BAAe;IACf,eAAe,EAAf,0BAAe;IACf,kBAAkB,EAAlB,6BAAkB;IAClB,iBAAiB,EAAjB,4BAAiB;IACjB,mBAAmB,EAAnB,8BAAmB;IACnB,gBAAgB,EAAhB,2BAAgB;IAChB,mBAAmB,EAAnB,8BAAmB;IACnB,sBAAsB,EAAtB,iCAAsB;IACtB,YAAY,EAAZ,wBAAY;IACZ,aAAa,EAAb,uBAAa;IACb,sBAAsB,EAAtB,gCAAsB;IACtB,oBAAoB,EAApB,8BAAoB;IACpB,aAAa,EAAb,uBAAa;IACb,aAAa,EAAb,uBAAa;IACb,aAAa,EAAb,uBAAa;IACb,oBAAoB,EAApB,8BAAoB;IACpB,sBAAsB,EAAtB,gCAAsB;IACtB,uBAAuB,EAAvB,iCAAuB;IACvB,iBAAiB,EAAjB,2BAAiB;IACjB,sBAAsB,EAAtB,gCAAsB;IACtB,wBAAwB,EAAxB,kCAAwB;IACxB,cAAc,EAAd,wBAAc;IACd,WAAW,EAAX,kBAAW;IACX,mBAAmB,EAAnB,0BAAmB;IACnB,WAAW,EAAX,kBAAW;IACX,qBAAqB,EAArB,gCAAqB;IACrB,mBAAmB,EAAnB,8BAAmB;IACnB,QAAQ,EAAR,iBAAQ;IACR,kBAAkB,EAAlB,2BAAkB;IAClB,qBAAqB,EAArB,8BAAqB;IACrB,aAAa,EAAb,sBAAa;IACb,eAAe,EAAf,yBAAe;IACf,sBAAsB,EAAtB,gCAAsB;IACtB,eAAe,EAAf,yBAAe;IACf,eAAe,EAAf,yBAAe;IACf,yBAAyB,EAAzB,mCAAyB;IACzB,gBAAgB,EAAhB,0BAAgB;IAChB,aAAa,EAAb,uBAAa;IACb,iBAAiB,EAAjB,2BAAiB;IACjB,aAAa,EAAb,uBAAa;IACb,aAAa,EAAb,oBAAa;IACb,qBAAqB,EAArB,4BAAqB;IACrB,aAAa,EAAb,oBAAa;IACb,WAAW,EAAX,qBAAW;IACX,eAAe,EAAf,yBAAe;IACf,WAAW,EAAX,qBAAW;IACX,iBAAiB,EAAjB,+BAAiB;IACjB,sBAAsB,EAAtB,oCAAsB;IACtB,mBAAmB,EAAnB,iCAAmB;IACnB,iBAAiB,EAAjB,+BAAiB;IACjB,KAAK,EAAL,aAAK;IACL,eAAe,EAAf,0BAAe;IACf,aAAa,EAAb,wBAAa;CACb,CAAC"}
|
|
@@ -18,22 +18,74 @@ 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
|
+
const middleware_1 = require("../../middleware");
|
|
21
22
|
const services_1 = require("../../services");
|
|
22
23
|
const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
23
24
|
class PalletsAssetConversionController extends AbstractController_1.default {
|
|
24
25
|
constructor(api) {
|
|
25
26
|
super(api, '/pallets/asset-conversion', new services_1.PalletsAssetConversionService(api));
|
|
26
|
-
this.getNextAvailableId = async ({ query: { at } }, res) => {
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
this.getNextAvailableId = async ({ query: { at, useRcBlock } }, res) => {
|
|
28
|
+
if (useRcBlock === 'true') {
|
|
29
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
30
|
+
// Return empty array if no Asset Hub blocks found
|
|
31
|
+
if (rcAtResults.length === 0) {
|
|
32
|
+
PalletsAssetConversionController.sanitizedSend(res, []);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// Process each Asset Hub block found
|
|
36
|
+
const results = [];
|
|
37
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
38
|
+
const result = await this.service.fetchNextAvailableId(ahHash);
|
|
39
|
+
const apiAt = await this.api.at(ahHash);
|
|
40
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
41
|
+
const enhancedResult = {
|
|
42
|
+
...result,
|
|
43
|
+
rcBlockNumber,
|
|
44
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
45
|
+
};
|
|
46
|
+
results.push(enhancedResult);
|
|
47
|
+
}
|
|
48
|
+
PalletsAssetConversionController.sanitizedSend(res, results);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const hash = await this.getHashFromAt(at);
|
|
52
|
+
const result = await this.service.fetchNextAvailableId(hash);
|
|
53
|
+
PalletsAssetConversionController.sanitizedSend(res, result);
|
|
54
|
+
}
|
|
29
55
|
};
|
|
30
|
-
this.getLiquidityPools = async ({ query: { at } }, res) => {
|
|
31
|
-
|
|
32
|
-
|
|
56
|
+
this.getLiquidityPools = async ({ query: { at, useRcBlock } }, res) => {
|
|
57
|
+
if (useRcBlock === 'true') {
|
|
58
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
59
|
+
// Return empty array if no Asset Hub blocks found
|
|
60
|
+
if (rcAtResults.length === 0) {
|
|
61
|
+
PalletsAssetConversionController.sanitizedSend(res, []);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Process each Asset Hub block found
|
|
65
|
+
const results = [];
|
|
66
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
67
|
+
const result = await this.service.fetchLiquidityPools(ahHash);
|
|
68
|
+
const apiAt = await this.api.at(ahHash);
|
|
69
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
70
|
+
const enhancedResult = {
|
|
71
|
+
...result,
|
|
72
|
+
rcBlockNumber,
|
|
73
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
74
|
+
};
|
|
75
|
+
results.push(enhancedResult);
|
|
76
|
+
}
|
|
77
|
+
PalletsAssetConversionController.sanitizedSend(res, results);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
const hash = await this.getHashFromAt(at);
|
|
81
|
+
const result = await this.service.fetchLiquidityPools(hash);
|
|
82
|
+
PalletsAssetConversionController.sanitizedSend(res, result);
|
|
83
|
+
}
|
|
33
84
|
};
|
|
34
85
|
this.initRoutes();
|
|
35
86
|
}
|
|
36
87
|
initRoutes() {
|
|
88
|
+
this.router.use(this.path, middleware_1.validateUseRcBlock);
|
|
37
89
|
this.safeMountAsyncGetHandlers([
|
|
38
90
|
['/next-available-id', this.getNextAvailableId],
|
|
39
91
|
['/liquidity-pools', this.getLiquidityPools],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsAssetConversionController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsAssetConversionController.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;;;;;AAIxE,6CAA+D;AAC/D,+EAAuD;AAEvD,MAAqB,gCAAiC,SAAQ,4BAAiD;IAG9G,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,2BAA2B,EAAE,IAAI,wCAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PalletsAssetConversionController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsAssetConversionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,15 @@ import AbstractController from '../AbstractController';
|
|
|
9
9
|
* Query:
|
|
10
10
|
* - (Optional)`at`: Block at which to retrieve runtime version information at. Block
|
|
11
11
|
* identifier, as the block height or block hash. Defaults to most recent block.
|
|
12
|
+
* - (Optional)`useRcBlock`: When set to 'true', uses the relay chain block specified in the 'at' parameter to determine corresponding Asset Hub block(s). Only supported for Asset Hub endpoints.
|
|
12
13
|
*
|
|
13
14
|
* `/pallets/assets/:assetId/asset-info`
|
|
14
15
|
* Returns:
|
|
16
|
+
* - When using `useRcBlock` parameter: An array of response objects, one for each Asset Hub block found
|
|
17
|
+
* in the specified relay chain block. Returns empty array `[]` if no Asset Hub blocks found.
|
|
18
|
+
* - When using `at` parameter or no query params: A single response object.
|
|
19
|
+
*
|
|
20
|
+
* Response object structure:
|
|
15
21
|
* - `at`: Block number and hash at which the call was made.
|
|
16
22
|
* - `assetInfo`: All details concering an asset.
|
|
17
23
|
* - `owner`: Owner of the assets privileges.
|
|
@@ -35,6 +41,8 @@ import AbstractController from '../AbstractController';
|
|
|
35
41
|
* - `symbol`: The ticker symbol for this asset.
|
|
36
42
|
* - `decimals`: The number of decimals this asset uses to represent one unit.
|
|
37
43
|
* - `isFrozen`: Whether the asset metadata may be changed by a non Force origin.
|
|
44
|
+
* - `rcBlockNumber`: The relay chain block number used for the query. Only present when `useRcBlock` parameter is used.
|
|
45
|
+
* - `ahTimestamp`: The Asset Hub block timestamp. Only present when `useRcBlock` parameter is used.
|
|
38
46
|
*
|
|
39
47
|
* Substrate References:
|
|
40
48
|
* - Assets Pallet: https://crates.parity.io/pallet_assets/index.html
|
|
@@ -18,6 +18,7 @@ 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
|
+
const middleware_1 = require("../../middleware");
|
|
21
22
|
const services_1 = require("../../services");
|
|
22
23
|
const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
23
24
|
/**
|
|
@@ -29,9 +30,15 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
|
29
30
|
* Query:
|
|
30
31
|
* - (Optional)`at`: Block at which to retrieve runtime version information at. Block
|
|
31
32
|
* identifier, as the block height or block hash. Defaults to most recent block.
|
|
33
|
+
* - (Optional)`useRcBlock`: When set to 'true', uses the relay chain block specified in the 'at' parameter to determine corresponding Asset Hub block(s). Only supported for Asset Hub endpoints.
|
|
32
34
|
*
|
|
33
35
|
* `/pallets/assets/:assetId/asset-info`
|
|
34
36
|
* Returns:
|
|
37
|
+
* - When using `useRcBlock` parameter: An array of response objects, one for each Asset Hub block found
|
|
38
|
+
* in the specified relay chain block. Returns empty array `[]` if no Asset Hub blocks found.
|
|
39
|
+
* - When using `at` parameter or no query params: A single response object.
|
|
40
|
+
*
|
|
41
|
+
* Response object structure:
|
|
35
42
|
* - `at`: Block number and hash at which the call was made.
|
|
36
43
|
* - `assetInfo`: All details concering an asset.
|
|
37
44
|
* - `owner`: Owner of the assets privileges.
|
|
@@ -55,6 +62,8 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
|
55
62
|
* - `symbol`: The ticker symbol for this asset.
|
|
56
63
|
* - `decimals`: The number of decimals this asset uses to represent one unit.
|
|
57
64
|
* - `isFrozen`: Whether the asset metadata may be changed by a non Force origin.
|
|
65
|
+
* - `rcBlockNumber`: The relay chain block number used for the query. Only present when `useRcBlock` parameter is used.
|
|
66
|
+
* - `ahTimestamp`: The Asset Hub block timestamp. Only present when `useRcBlock` parameter is used.
|
|
58
67
|
*
|
|
59
68
|
* Substrate References:
|
|
60
69
|
* - Assets Pallet: https://crates.parity.io/pallet_assets/index.html
|
|
@@ -64,18 +73,44 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
|
64
73
|
class PalletsAssetsController extends AbstractController_1.default {
|
|
65
74
|
constructor(api) {
|
|
66
75
|
super(api, '/pallets/assets/:assetId', new services_1.PalletsAssetsService(api));
|
|
67
|
-
this.getAssetById = async ({ params: { assetId }, query: { at } }, res) => {
|
|
68
|
-
const hash = await this.getHashFromAt(at);
|
|
76
|
+
this.getAssetById = async ({ params: { assetId }, query: { at, useRcBlock } }, res) => {
|
|
69
77
|
/**
|
|
70
78
|
* Verify our param `assetId` is an integer represented as a string, and return
|
|
71
79
|
* it as an integer
|
|
72
80
|
*/
|
|
73
81
|
const index = this.parseNumberOrThrow(assetId, '`assetId` path param is not a number');
|
|
74
|
-
|
|
82
|
+
if (useRcBlock === 'true') {
|
|
83
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
84
|
+
// Return empty array if no Asset Hub blocks found
|
|
85
|
+
if (rcAtResults.length === 0) {
|
|
86
|
+
PalletsAssetsController.sanitizedSend(res, []);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
// Process each Asset Hub block found
|
|
90
|
+
const results = [];
|
|
91
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
92
|
+
const result = await this.service.fetchAssetById(ahHash, index);
|
|
93
|
+
const apiAt = await this.api.at(ahHash);
|
|
94
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
95
|
+
const enhancedResult = {
|
|
96
|
+
...result,
|
|
97
|
+
rcBlockNumber,
|
|
98
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
99
|
+
};
|
|
100
|
+
results.push(enhancedResult);
|
|
101
|
+
}
|
|
102
|
+
PalletsAssetsController.sanitizedSend(res, results);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const hash = await this.getHashFromAt(at);
|
|
106
|
+
const result = await this.service.fetchAssetById(hash, index);
|
|
107
|
+
PalletsAssetsController.sanitizedSend(res, result);
|
|
108
|
+
}
|
|
75
109
|
};
|
|
76
110
|
this.initRoutes();
|
|
77
111
|
}
|
|
78
112
|
initRoutes() {
|
|
113
|
+
this.router.use(this.path, middleware_1.validateUseRcBlock);
|
|
79
114
|
this.safeMountAsyncGetHandlers([['/asset-info', this.getAssetById]]);
|
|
80
115
|
}
|
|
81
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsAssetsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsAssetsController.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;;;;;AAIxE,6CAAsD;AACtD,+EAAuD;AAEvD
|
|
1
|
+
{"version":3,"file":"PalletsAssetsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsAssetsController.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;;;;;AAIxE,iDAAsD;AACtD,6CAAsD;AACtD,+EAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAqB,uBAAwB,SAAQ,4BAAwC;IAG5F,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,0BAA0B,EAAE,IAAI,+BAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QAS/D,iBAAY,GAAmB,KAAK,EAC3C,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAClD,GAAG,EACa,EAAE;YAClB;;;eAGG;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;YAEvF,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAEnD,kDAAkD;gBAClD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC/C,OAAO;gBACR,CAAC;gBAED,qCAAqC;gBACrC,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,KAAK,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,WAAW,EAAE,CAAC;oBACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAEhE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;oBACxC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;oBAEtD,MAAM,cAAc,GAAG;wBACtB,GAAG,MAAM;wBACT,aAAa;wBACb,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;qBACnC,CAAC;oBAEF,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9B,CAAC;gBAED,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9D,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;QACF,CAAC,CAAC;QAlDD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,+BAAkB,CAAC,CAAC;QAC/C,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;;AAVM,sCAAc,GAAG,eAAe,AAAlB,CAAmB;AACjC,uCAAe,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,AAAf,CAAgB;kBAFlB,uBAAuB"}
|
|
@@ -19,6 +19,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
const util_1 = require("@polkadot/util");
|
|
22
|
+
const middleware_1 = require("../../middleware");
|
|
22
23
|
const services_1 = require("../../services");
|
|
23
24
|
const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
24
25
|
/**
|
|
@@ -35,31 +36,94 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
|
35
36
|
class PalletsConstantsController extends AbstractController_1.default {
|
|
36
37
|
constructor(api) {
|
|
37
38
|
super(api, '/pallets/:palletId/consts', new services_1.PalletsConstantsService(api));
|
|
38
|
-
this.getConstById = async ({ query: { at, metadata }, params: { palletId, constantItemId } }, res) => {
|
|
39
|
+
this.getConstById = async ({ query: { at, metadata, useRcBlock }, params: { palletId, constantItemId } }, res) => {
|
|
39
40
|
const metadataArg = metadata === 'true';
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
if (useRcBlock === 'true') {
|
|
42
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
43
|
+
// Return empty array if no Asset Hub blocks found
|
|
44
|
+
if (rcAtResults.length === 0) {
|
|
45
|
+
PalletsConstantsController.sanitizedSend(res, []);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// Process each Asset Hub block found
|
|
49
|
+
const results = [];
|
|
50
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
51
|
+
const historicApi = await this.api.at(ahHash);
|
|
52
|
+
const result = await this.service.fetchConstantItem(historicApi, {
|
|
53
|
+
hash: ahHash,
|
|
54
|
+
// stringCamelCase ensures we don't have snake case or kebab case
|
|
55
|
+
palletId: (0, util_1.stringCamelCase)(palletId),
|
|
56
|
+
constantItemId: (0, util_1.stringCamelCase)(constantItemId),
|
|
57
|
+
metadata: metadataArg,
|
|
58
|
+
});
|
|
59
|
+
const apiAt = await this.api.at(ahHash);
|
|
60
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
61
|
+
const enhancedResult = {
|
|
62
|
+
...result,
|
|
63
|
+
rcBlockNumber,
|
|
64
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
65
|
+
};
|
|
66
|
+
results.push(enhancedResult);
|
|
67
|
+
}
|
|
68
|
+
PalletsConstantsController.sanitizedSend(res, results);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const hash = await this.getHashFromAt(at);
|
|
72
|
+
const historicApi = await this.api.at(hash);
|
|
73
|
+
const result = await this.service.fetchConstantItem(historicApi, {
|
|
74
|
+
hash,
|
|
75
|
+
// stringCamelCase ensures we don't have snake case or kebab case
|
|
76
|
+
palletId: (0, util_1.stringCamelCase)(palletId),
|
|
77
|
+
constantItemId: (0, util_1.stringCamelCase)(constantItemId),
|
|
78
|
+
metadata: metadataArg,
|
|
79
|
+
});
|
|
80
|
+
PalletsConstantsController.sanitizedSend(res, result);
|
|
81
|
+
}
|
|
49
82
|
};
|
|
50
|
-
this.getConsts = async ({ params: { palletId }, query: { at, onlyIds } }, res) => {
|
|
83
|
+
this.getConsts = async ({ params: { palletId }, query: { at, onlyIds, useRcBlock } }, res) => {
|
|
51
84
|
const onlyIdsArg = onlyIds === 'true';
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
85
|
+
if (useRcBlock === 'true') {
|
|
86
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
87
|
+
// Return empty array if no Asset Hub blocks found
|
|
88
|
+
if (rcAtResults.length === 0) {
|
|
89
|
+
PalletsConstantsController.sanitizedSend(res, []);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
// Process each Asset Hub block found
|
|
93
|
+
const results = [];
|
|
94
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
95
|
+
const historicApi = await this.api.at(ahHash);
|
|
96
|
+
const result = await this.service.fetchConstants(historicApi, {
|
|
97
|
+
hash: ahHash,
|
|
98
|
+
palletId: (0, util_1.stringCamelCase)(palletId),
|
|
99
|
+
onlyIds: onlyIdsArg,
|
|
100
|
+
});
|
|
101
|
+
const apiAt = await this.api.at(ahHash);
|
|
102
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
103
|
+
const enhancedResult = {
|
|
104
|
+
...result,
|
|
105
|
+
rcBlockNumber,
|
|
106
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
107
|
+
};
|
|
108
|
+
results.push(enhancedResult);
|
|
109
|
+
}
|
|
110
|
+
PalletsConstantsController.sanitizedSend(res, results);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
const hash = await this.getHashFromAt(at);
|
|
114
|
+
const historicApi = await this.api.at(hash);
|
|
115
|
+
const result = await this.service.fetchConstants(historicApi, {
|
|
116
|
+
hash,
|
|
117
|
+
palletId: (0, util_1.stringCamelCase)(palletId),
|
|
118
|
+
onlyIds: onlyIdsArg,
|
|
119
|
+
});
|
|
120
|
+
PalletsConstantsController.sanitizedSend(res, result);
|
|
121
|
+
}
|
|
59
122
|
};
|
|
60
123
|
this.initRoutes();
|
|
61
124
|
}
|
|
62
125
|
initRoutes() {
|
|
126
|
+
this.router.use(this.path, middleware_1.validateUseRcBlock);
|
|
63
127
|
this.safeMountAsyncGetHandlers([
|
|
64
128
|
['/:constantItemId', this.getConstById],
|
|
65
129
|
['/', this.getConsts],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsConstsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsConstsController.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,yCAAiD;AAGjD,6CAAyD;AAEzD,+EAAuD;AAEvD;;;;;;;;;;GAUG;AACH,MAAqB,0BAA2B,SAAQ,4BAA2C;IAGlG,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,2BAA2B,EAAE,IAAI,kCAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PalletsConstsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsConstsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,14 +16,6 @@ export default class PalletsDispatchablesController extends AbstractController<P
|
|
|
16
16
|
static requiredPallets: never[];
|
|
17
17
|
constructor(api: string);
|
|
18
18
|
protected initRoutes(): void;
|
|
19
|
-
/**
|
|
20
|
-
* Note: the `at` parameter is not provided because the call for dispatchables does not exist on the historicApi currently.
|
|
21
|
-
* Support may be added for this in a future update.
|
|
22
|
-
*/
|
|
23
19
|
private getDispatchableById;
|
|
24
|
-
/**
|
|
25
|
-
* Note: the `at` parameter is not provided because the call for dispatchables does not exist on the historicApi currently.
|
|
26
|
-
* Support may be added for this in a future update.
|
|
27
|
-
*/
|
|
28
20
|
private getDispatchables;
|
|
29
21
|
}
|