@substrate/api-sidecar 20.3.2 → 20.4.1
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 +8 -18
- 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 +7 -1
- package/build/src/chains-config/index.js +38 -7
- 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 +56 -6
- 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/main.js +4 -0
- package/build/src/main.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 +8 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsNominationPoolsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsNominationPoolsController.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,6CAA8D;AAC9D,+EAAuD;AAEvD,MAAqB,+BAAgC,SAAQ,4BAAgD;IAG5G,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,2BAA2B,EAAE,IAAI,uCAA4B,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PalletsNominationPoolsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsNominationPoolsController.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,6CAA8D;AAC9D,+EAAuD;AAEvD,MAAqB,+BAAgC,SAAQ,4BAAgD;IAG5G,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,2BAA2B,EAAE,IAAI,uCAA4B,CAAC,GAAG,CAAC,CAAC,CAAC;QAYxE,0BAAqB,GAAmB,KAAK,EACpD,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAC3D,GAAG,EACa,EAAE;YAClB;;;eAGG;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;YAErF,MAAM,WAAW,GAAG,QAAQ,KAAK,MAAM,CAAC;YAExC,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,+BAA+B,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACvD,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,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;oBAEtF,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,+BAA+B,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBACpF,+BAA+B,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC,CAAC;QAEM,0BAAqB,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;YAC3G,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,+BAA+B,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACvD,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,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAElE,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,+BAA+B,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAChE,+BAA+B,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC,CAAC;QA1FD,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;YAC9B,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC;YACrC,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC;SACxC,CAAC,CAAC;IACJ,CAAC;;AAbM,8CAAc,GAAG,wBAAwB,AAA3B,CAA4B;AAC1C,+CAAe,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,AAAxB,CAAyB;kBAF3B,+BAA+B"}
|
|
@@ -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
|
class PalletsOnGoingReferendaController extends AbstractController_1.default {
|
|
@@ -29,13 +30,39 @@ class PalletsOnGoingReferendaController extends AbstractController_1.default {
|
|
|
29
30
|
* @param _req Express Request
|
|
30
31
|
* @param res Express Response
|
|
31
32
|
*/
|
|
32
|
-
this.getPalletOnGoingReferenda = async ({ query: { at } }, res) => {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
this.getPalletOnGoingReferenda = async ({ query: { at, useRcBlock } }, res) => {
|
|
34
|
+
if (useRcBlock === 'true') {
|
|
35
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
36
|
+
// Return empty array if no Asset Hub blocks found
|
|
37
|
+
if (rcAtResults.length === 0) {
|
|
38
|
+
PalletsOnGoingReferendaController.sanitizedSend(res, []);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Process each Asset Hub block found
|
|
42
|
+
const results = [];
|
|
43
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
44
|
+
const result = await this.service.derivePalletOnGoingReferenda(ahHash);
|
|
45
|
+
const apiAt = await this.api.at(ahHash);
|
|
46
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
47
|
+
const enhancedResult = {
|
|
48
|
+
...result,
|
|
49
|
+
rcBlockNumber,
|
|
50
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
51
|
+
};
|
|
52
|
+
results.push(enhancedResult);
|
|
53
|
+
}
|
|
54
|
+
PalletsOnGoingReferendaController.sanitizedSend(res, results);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const hash = await this.getHashFromAt(at);
|
|
58
|
+
const result = await this.service.derivePalletOnGoingReferenda(hash);
|
|
59
|
+
PalletsOnGoingReferendaController.sanitizedSend(res, result);
|
|
60
|
+
}
|
|
35
61
|
};
|
|
36
62
|
this.initRoutes();
|
|
37
63
|
}
|
|
38
64
|
initRoutes() {
|
|
65
|
+
this.router.use(this.path, middleware_1.validateUseRcBlock);
|
|
39
66
|
this.safeMountAsyncGetHandlers([['', this.getPalletOnGoingReferenda]]);
|
|
40
67
|
}
|
|
41
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsOnGoingReferendaController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsOnGoingReferendaController.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,6CAAgE;AAChE,+EAAuD;AAEvD,MAAqB,iCAAkC,SAAQ,4BAAkD;IAGhH,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,6BAA6B,EAAE,IAAI,yCAA8B,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PalletsOnGoingReferendaController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsOnGoingReferendaController.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,6CAAgE;AAChE,+EAAuD;AAEvD,MAAqB,iCAAkC,SAAQ,4BAAkD;IAGhH,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,6BAA6B,EAAE,IAAI,yCAA8B,CAAC,GAAG,CAAC,CAAC,CAAC;QASpF;;;;;WAKG;QACK,8BAAyB,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;YAC/G,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,iCAAiC,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACzD,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,4BAA4B,CAAC,MAAM,CAAC,CAAC;oBAEvE,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,iCAAiC,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACrE,iCAAiC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC,CAAC;QA/CD,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,EAAE,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;;AAVM,gDAAc,GAAG,yBAAyB,AAA5B,CAA6B;AAC3C,iDAAe,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,AAAlB,CAAmB;kBAFrB,iCAAiC"}
|
|
@@ -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
|
/**
|
|
@@ -64,18 +65,44 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
|
64
65
|
class PalletsPoolAssetsController extends AbstractController_1.default {
|
|
65
66
|
constructor(api) {
|
|
66
67
|
super(api, '/pallets/pool-assets/:assetId', new services_1.PalletsPoolAssetsService(api));
|
|
67
|
-
this.getPoolAssetById = async ({ params: { assetId }, query: { at } }, res) => {
|
|
68
|
-
const hash = await this.getHashFromAt(at);
|
|
68
|
+
this.getPoolAssetById = async ({ params: { assetId }, query: { at, useRcBlock } }, res) => {
|
|
69
69
|
/**
|
|
70
70
|
* Verify our param `assetId` is an integer represented as a string, and return
|
|
71
71
|
* it as an integer
|
|
72
72
|
*/
|
|
73
73
|
const index = this.parseNumberOrThrow(assetId, '`assetId` path param is not a number');
|
|
74
|
-
|
|
74
|
+
if (useRcBlock === 'true') {
|
|
75
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
76
|
+
// Return empty array if no Asset Hub blocks found
|
|
77
|
+
if (rcAtResults.length === 0) {
|
|
78
|
+
PalletsPoolAssetsController.sanitizedSend(res, []);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// Process each Asset Hub block found
|
|
82
|
+
const results = [];
|
|
83
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
84
|
+
const result = await this.service.fetchPoolAssetById(ahHash, index);
|
|
85
|
+
const apiAt = await this.api.at(ahHash);
|
|
86
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
87
|
+
const enhancedResult = {
|
|
88
|
+
...result,
|
|
89
|
+
rcBlockNumber,
|
|
90
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
91
|
+
};
|
|
92
|
+
results.push(enhancedResult);
|
|
93
|
+
}
|
|
94
|
+
PalletsPoolAssetsController.sanitizedSend(res, results);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const hash = await this.getHashFromAt(at);
|
|
98
|
+
const result = await this.service.fetchPoolAssetById(hash, index);
|
|
99
|
+
PalletsPoolAssetsController.sanitizedSend(res, result);
|
|
100
|
+
}
|
|
75
101
|
};
|
|
76
102
|
this.initRoutes();
|
|
77
103
|
}
|
|
78
104
|
initRoutes() {
|
|
105
|
+
this.router.use(this.path, middleware_1.validateUseRcBlock);
|
|
79
106
|
this.safeMountAsyncGetHandlers([['/asset-info', this.getPoolAssetById]]);
|
|
80
107
|
}
|
|
81
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsPoolAssetsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsPoolAssetsController.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,6CAA0D;AAC1D,+EAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAqB,2BAA4B,SAAQ,4BAA4C;IAGpG,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,+BAA+B,EAAE,IAAI,mCAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PalletsPoolAssetsController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsPoolAssetsController.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,6CAA0D;AAC1D,+EAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAqB,2BAA4B,SAAQ,4BAA4C;IAGpG,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,+BAA+B,EAAE,IAAI,mCAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;QASxE,qBAAgB,GAAmB,KAAK,EAC/C,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,2BAA2B,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnD,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,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAEpE,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,2BAA2B,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClE,2BAA2B,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxD,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,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;;AAVM,0CAAc,GAAG,mBAAmB,AAAtB,CAAuB;AACrC,2CAAe,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,AAAnB,CAAoB;kBAFtB,2BAA2B"}
|
|
@@ -67,7 +67,7 @@ export default class PalletsStakingProgressController extends AbstractController
|
|
|
67
67
|
protected initRoutes(): void;
|
|
68
68
|
/**
|
|
69
69
|
* Get the progress of the staking pallet system.
|
|
70
|
-
*
|
|
70
|
+
*
|
|
71
71
|
* @param _req Express Request
|
|
72
72
|
* @param res Express Response
|
|
73
73
|
*/
|
|
@@ -18,7 +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
|
|
21
|
+
const middleware_1 = require("../../middleware");
|
|
22
22
|
const services_1 = require("../../services");
|
|
23
23
|
const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
24
24
|
/**
|
|
@@ -86,21 +86,43 @@ class PalletsStakingProgressController extends AbstractController_1.default {
|
|
|
86
86
|
super(api, '/pallets/staking/progress', new services_1.PalletsStakingProgressService(api));
|
|
87
87
|
/**
|
|
88
88
|
* Get the progress of the staking pallet system.
|
|
89
|
-
*
|
|
89
|
+
*
|
|
90
90
|
* @param _req Express Request
|
|
91
91
|
* @param res Express Response
|
|
92
92
|
*/
|
|
93
|
-
this.getPalletStakingProgress = async ({ query: { at } }, res) => {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
this.getPalletStakingProgress = async ({ query: { at, useRcBlock } }, res) => {
|
|
94
|
+
if (useRcBlock === 'true') {
|
|
95
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
96
|
+
// Return empty array if no Asset Hub blocks found
|
|
97
|
+
if (rcAtResults.length === 0) {
|
|
98
|
+
PalletsStakingProgressController.sanitizedSend(res, []);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// Process each Asset Hub block found
|
|
102
|
+
const results = [];
|
|
103
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
104
|
+
const result = await this.service.derivePalletStakingProgress(ahHash);
|
|
105
|
+
const apiAt = await this.api.at(ahHash);
|
|
106
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
107
|
+
const enhancedResult = {
|
|
108
|
+
...result,
|
|
109
|
+
rcBlockNumber,
|
|
110
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
111
|
+
};
|
|
112
|
+
results.push(enhancedResult);
|
|
113
|
+
}
|
|
114
|
+
PalletsStakingProgressController.sanitizedSend(res, results);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
const hash = await this.getHashFromAt(at);
|
|
118
|
+
const result = await this.service.derivePalletStakingProgress(hash);
|
|
119
|
+
PalletsStakingProgressController.sanitizedSend(res, result);
|
|
97
120
|
}
|
|
98
|
-
const hash = await this.getHashFromAt(at);
|
|
99
|
-
PalletsStakingProgressController.sanitizedSend(res, await this.service.derivePalletStakingProgress(hash));
|
|
100
121
|
};
|
|
101
122
|
this.initRoutes();
|
|
102
123
|
}
|
|
103
124
|
initRoutes() {
|
|
125
|
+
this.router.use(this.path, middleware_1.validateUseRcBlock);
|
|
104
126
|
this.safeMountAsyncGetHandlers([['', this.getPalletStakingProgress]]);
|
|
105
127
|
}
|
|
106
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsStakingProgressController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStakingProgressController.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,
|
|
1
|
+
{"version":3,"file":"PalletsStakingProgressController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStakingProgressController.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,6CAA+D;AAC/D,+EAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,MAAqB,gCAAiC,SAAQ,4BAAiD;IAM9G,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,2BAA2B,EAAE,IAAI,wCAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;QASjF;;;;;WAKG;QACK,6BAAwB,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;YAC9G,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,gCAAgC,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACxD,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,2BAA2B,CAAC,MAAM,CAAC,CAAC;oBAEtE,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,gCAAgC,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBACpE,gCAAgC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;QACF,CAAC,CAAC;QA/CD,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,EAAE,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAbM,+CAAc,GAAG,wBAAwB,AAA3B,CAA4B;AAC1C,gDAAe,GAAG;IACxB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;IAC9B,CAAC,kBAAkB,EAAE,SAAS,CAAC;CAC/B,AAHqB,CAGpB;kBALkB,gCAAgC"}
|
|
@@ -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
|
class PalletsStakingValidatorsController extends AbstractController_1.default {
|
|
@@ -29,13 +30,39 @@ class PalletsStakingValidatorsController extends AbstractController_1.default {
|
|
|
29
30
|
* @param _req Express Request
|
|
30
31
|
* @param res Express Response
|
|
31
32
|
*/
|
|
32
|
-
this.getPalletStakingValidators = async ({ query: { at } }, res) => {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
this.getPalletStakingValidators = async ({ query: { at, useRcBlock } }, res) => {
|
|
34
|
+
if (useRcBlock === 'true') {
|
|
35
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
36
|
+
// Return empty array if no Asset Hub blocks found
|
|
37
|
+
if (rcAtResults.length === 0) {
|
|
38
|
+
PalletsStakingValidatorsController.sanitizedSend(res, []);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Process each Asset Hub block found
|
|
42
|
+
const results = [];
|
|
43
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
44
|
+
const result = await this.service.derivePalletStakingValidators(ahHash);
|
|
45
|
+
const apiAt = await this.api.at(ahHash);
|
|
46
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
47
|
+
const enhancedResult = {
|
|
48
|
+
...result,
|
|
49
|
+
rcBlockNumber,
|
|
50
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
51
|
+
};
|
|
52
|
+
results.push(enhancedResult);
|
|
53
|
+
}
|
|
54
|
+
PalletsStakingValidatorsController.sanitizedSend(res, results);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const hash = await this.getHashFromAt(at);
|
|
58
|
+
const result = await this.service.derivePalletStakingValidators(hash);
|
|
59
|
+
PalletsStakingValidatorsController.sanitizedSend(res, result);
|
|
60
|
+
}
|
|
35
61
|
};
|
|
36
62
|
this.initRoutes();
|
|
37
63
|
}
|
|
38
64
|
initRoutes() {
|
|
65
|
+
this.router.use(this.path, middleware_1.validateUseRcBlock);
|
|
39
66
|
this.safeMountAsyncGetHandlers([['', this.getPalletStakingValidators]]);
|
|
40
67
|
}
|
|
41
68
|
}
|
|
@@ -1 +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;;;;;AAIxE,6CAAiE;AACjE,+EAAuD;AAEvD,MAAqB,kCAAmC,SAAQ,4BAAmD;IAGlH,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,6BAA6B,EAAE,IAAI,0CAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
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;;;;;AAIxE,iDAAsD;AACtD,6CAAiE;AACjE,+EAAuD;AAEvD,MAAqB,kCAAmC,SAAQ,4BAAmD;IAGlH,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,6BAA6B,EAAE,IAAI,0CAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;QASrF;;;;;WAKG;QACK,+BAA0B,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;YAChH,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,kCAAkC,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC1D,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,6BAA6B,CAAC,MAAM,CAAC,CAAC;oBAExE,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,kCAAkC,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;gBACtE,kCAAkC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC/D,CAAC;QACF,CAAC,CAAC;QA/CD,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,EAAE,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAVM,iDAAc,GAAG,0BAA0B,AAA7B,CAA8B;AAC5C,kDAAe,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,AAA3B,CAA4B;kBAF9B,kCAAkC"}
|
|
@@ -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
|
/**
|
|
@@ -37,33 +38,97 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
|
37
38
|
class PalletsStorageController extends AbstractController_1.default {
|
|
38
39
|
constructor(api) {
|
|
39
40
|
super(api, '/pallets/:palletId/storage', new services_1.PalletsStorageService(api));
|
|
40
|
-
this.getStorageItem = async ({ query: { at, keys, metadata }, params: { palletId, storageItemId } }, res) => {
|
|
41
|
+
this.getStorageItem = async ({ query: { at, keys, metadata, useRcBlock }, params: { palletId, storageItemId } }, res) => {
|
|
41
42
|
const parsedKeys = Array.isArray(keys) ? keys : [];
|
|
42
43
|
const metadataArg = metadata === 'true';
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
if (useRcBlock === 'true') {
|
|
45
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
46
|
+
// Return empty array if no Asset Hub blocks found
|
|
47
|
+
if (rcAtResults.length === 0) {
|
|
48
|
+
PalletsStorageController.sanitizedSend(res, []);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// Process each Asset Hub block found
|
|
52
|
+
const results = [];
|
|
53
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
54
|
+
const historicApi = await this.api.at(ahHash);
|
|
55
|
+
const result = await this.service.fetchStorageItem(historicApi, {
|
|
56
|
+
hash: ahHash,
|
|
57
|
+
// stringCamelCase ensures we don't have snake case or kebab case
|
|
58
|
+
palletId: (0, util_1.stringCamelCase)(palletId),
|
|
59
|
+
storageItemId: (0, util_1.stringCamelCase)(storageItemId),
|
|
60
|
+
keys: parsedKeys,
|
|
61
|
+
metadata: metadataArg,
|
|
62
|
+
});
|
|
63
|
+
const apiAt = await this.api.at(ahHash);
|
|
64
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
65
|
+
const enhancedResult = {
|
|
66
|
+
...result,
|
|
67
|
+
rcBlockNumber,
|
|
68
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
69
|
+
};
|
|
70
|
+
results.push(enhancedResult);
|
|
71
|
+
}
|
|
72
|
+
PalletsStorageController.sanitizedSend(res, results);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
const hash = await this.getHashFromAt(at);
|
|
76
|
+
const historicApi = await this.api.at(hash);
|
|
77
|
+
const result = await this.service.fetchStorageItem(historicApi, {
|
|
78
|
+
hash,
|
|
79
|
+
// stringCamelCase ensures we don't have snake case or kebab case
|
|
80
|
+
palletId: (0, util_1.stringCamelCase)(palletId),
|
|
81
|
+
storageItemId: (0, util_1.stringCamelCase)(storageItemId),
|
|
82
|
+
keys: parsedKeys,
|
|
83
|
+
metadata: metadataArg,
|
|
84
|
+
});
|
|
85
|
+
PalletsStorageController.sanitizedSend(res, result);
|
|
86
|
+
}
|
|
53
87
|
};
|
|
54
|
-
this.getStorage = async ({ params: { palletId }, query: { at, onlyIds } }, res) => {
|
|
88
|
+
this.getStorage = async ({ params: { palletId }, query: { at, onlyIds, useRcBlock } }, res) => {
|
|
55
89
|
const onlyIdsArg = onlyIds === 'true';
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
90
|
+
if (useRcBlock === 'true') {
|
|
91
|
+
const rcAtResults = await this.getHashFromRcAt(at);
|
|
92
|
+
// Return empty array if no Asset Hub blocks found
|
|
93
|
+
if (rcAtResults.length === 0) {
|
|
94
|
+
PalletsStorageController.sanitizedSend(res, []);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
// Process each Asset Hub block found
|
|
98
|
+
const results = [];
|
|
99
|
+
for (const { ahHash, rcBlockNumber } of rcAtResults) {
|
|
100
|
+
const historicApi = await this.api.at(ahHash);
|
|
101
|
+
const result = await this.service.fetchStorage(historicApi, {
|
|
102
|
+
hash: ahHash,
|
|
103
|
+
palletId: (0, util_1.stringCamelCase)(palletId),
|
|
104
|
+
onlyIds: onlyIdsArg,
|
|
105
|
+
});
|
|
106
|
+
const apiAt = await this.api.at(ahHash);
|
|
107
|
+
const ahTimestamp = await apiAt.query.timestamp.now();
|
|
108
|
+
const enhancedResult = {
|
|
109
|
+
...result,
|
|
110
|
+
rcBlockNumber,
|
|
111
|
+
ahTimestamp: ahTimestamp.toString(),
|
|
112
|
+
};
|
|
113
|
+
results.push(enhancedResult);
|
|
114
|
+
}
|
|
115
|
+
PalletsStorageController.sanitizedSend(res, results);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
const hash = await this.getHashFromAt(at);
|
|
119
|
+
const historicApi = await this.api.at(hash);
|
|
120
|
+
const result = await this.service.fetchStorage(historicApi, {
|
|
121
|
+
hash,
|
|
122
|
+
palletId: (0, util_1.stringCamelCase)(palletId),
|
|
123
|
+
onlyIds: onlyIdsArg,
|
|
124
|
+
});
|
|
125
|
+
PalletsStorageController.sanitizedSend(res, result);
|
|
126
|
+
}
|
|
63
127
|
};
|
|
64
128
|
this.initRoutes();
|
|
65
129
|
}
|
|
66
130
|
initRoutes() {
|
|
131
|
+
this.router.use(this.path, middleware_1.validateUseRcBlock);
|
|
67
132
|
this.safeMountAsyncGetHandlers([
|
|
68
133
|
['/:storageItemId', this.getStorageItem],
|
|
69
134
|
['/', this.getStorage],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsStorageController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStorageController.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,6CAAuD;AAEvD,+EAAuD;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAqB,wBAAyB,SAAQ,4BAAyC;IAG9F,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,EAAE,4BAA4B,EAAE,IAAI,gCAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PalletsStorageController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStorageController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AccountsBalanceInfoService } from '../../../services';
|
|
2
|
+
import AbstractController from '../../AbstractController';
|
|
3
|
+
export default class AccountsBalanceController extends AbstractController<AccountsBalanceInfoService> {
|
|
4
|
+
static controllerName: string;
|
|
5
|
+
static requiredPallets: string[][];
|
|
6
|
+
constructor(_api: string);
|
|
7
|
+
protected initRoutes(): void;
|
|
8
|
+
/**
|
|
9
|
+
* Get the latest account balance summary of `address`.
|
|
10
|
+
*
|
|
11
|
+
* @param req Express Request
|
|
12
|
+
* @param res Express Response
|
|
13
|
+
*/
|
|
14
|
+
private getAccountBalanceInfo;
|
|
15
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2017-2025 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 apiRegistry_1 = require("../../../apiRegistry");
|
|
22
|
+
const middleware_1 = require("../../../middleware");
|
|
23
|
+
const services_1 = require("../../../services");
|
|
24
|
+
const AbstractController_1 = __importDefault(require("../../AbstractController"));
|
|
25
|
+
class AccountsBalanceController extends AbstractController_1.default {
|
|
26
|
+
constructor(_api) {
|
|
27
|
+
var _a;
|
|
28
|
+
const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
|
|
29
|
+
const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
|
|
30
|
+
if (!rcSpecName) {
|
|
31
|
+
throw new Error('Relay chain API spec name is not defined.');
|
|
32
|
+
}
|
|
33
|
+
super(rcSpecName, '/rc/accounts/:address/balance-info', new services_1.AccountsBalanceInfoService(rcSpecName));
|
|
34
|
+
/**
|
|
35
|
+
* Get the latest account balance summary of `address`.
|
|
36
|
+
*
|
|
37
|
+
* @param req Express Request
|
|
38
|
+
* @param res Express Response
|
|
39
|
+
*/
|
|
40
|
+
this.getAccountBalanceInfo = async ({ params: { address }, query: { at, token, denominated } }, res) => {
|
|
41
|
+
var _a;
|
|
42
|
+
const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
|
|
43
|
+
if (!rcApi) {
|
|
44
|
+
throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
|
|
45
|
+
}
|
|
46
|
+
const tokenArg = typeof token === 'string'
|
|
47
|
+
? token.toUpperCase()
|
|
48
|
+
: // We assume the first token is the native token
|
|
49
|
+
rcApi.registry.chainTokens[0].toUpperCase();
|
|
50
|
+
const withDenomination = denominated === 'true';
|
|
51
|
+
const hash = await this.getHashFromAt(at, { api: rcApi });
|
|
52
|
+
const historicApi = await rcApi.at(hash);
|
|
53
|
+
AccountsBalanceController.sanitizedSend(res, await this.service.fetchAccountBalanceInfo(hash, historicApi, address, tokenArg, withDenomination));
|
|
54
|
+
};
|
|
55
|
+
this.initRoutes();
|
|
56
|
+
}
|
|
57
|
+
initRoutes() {
|
|
58
|
+
this.router.use(this.path, middleware_1.validateAddress, (0, middleware_1.validateBoolean)(['denominated']));
|
|
59
|
+
this.safeMountAsyncGetHandlers([['', this.getAccountBalanceInfo]]);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
AccountsBalanceController.controllerName = 'RcAccountsBalanceInfo';
|
|
63
|
+
AccountsBalanceController.requiredPallets = [['Balances', 'System']];
|
|
64
|
+
exports.default = AccountsBalanceController;
|
|
65
|
+
//# sourceMappingURL=RcAccountsBalanceInfoController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RcAccountsBalanceInfoController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/accounts/RcAccountsBalanceInfoController.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,sDAA0D;AAC1D,oDAAuE;AACvE,gDAA+D;AAC/D,kFAA0D;AAE1D,MAAqB,yBAA0B,SAAQ,4BAA8C;IAGpG,YAAY,IAAY;;QACvB,MAAM,aAAa,GAAG,MAAA,gCAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,0CAAE,MAAM,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,oCAAoC,EAAE,IAAI,qCAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;QAUrG;;;;;WAKG;QACK,0BAAqB,GAAkC,KAAK,EACnE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAC1D,GAAG,EACa,EAAE;;YAClB,MAAM,KAAK,GAAG,MAAA,gCAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;YAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,QAAQ,GACb,OAAO,KAAK,KAAK,QAAQ;gBACxB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;gBACrB,CAAC,CAAC,gDAAgD;oBACjD,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,gBAAgB,GAAG,WAAW,KAAK,MAAM,CAAC;YAEhD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAEzC,yBAAyB,CAAC,aAAa,CACtC,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAClG,CAAC;QACH,CAAC,CAAC;QAvCD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,4BAAe,EAAE,IAAA,4BAAe,EAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE9E,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;;AAhBM,wCAAc,GAAG,uBAAuB,AAA1B,CAA2B;AACzC,yCAAe,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,AAA3B,CAA4B;kBAF9B,yBAAyB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AccountsProxyInfoService } from '../../../services';
|
|
2
|
+
import AbstractController from '../../AbstractController';
|
|
3
|
+
export default class RcAccountsProxyInfoController extends AbstractController<AccountsProxyInfoService> {
|
|
4
|
+
static controllerName: string;
|
|
5
|
+
static requiredPallets: string[][];
|
|
6
|
+
constructor(_api: string);
|
|
7
|
+
protected initRoutes(): void;
|
|
8
|
+
/**
|
|
9
|
+
* Get the latest account proxy info of `address` from the relay chain.
|
|
10
|
+
*
|
|
11
|
+
* @param req Express Request
|
|
12
|
+
* @param res Express Response
|
|
13
|
+
*/
|
|
14
|
+
private getAccountProxyInfo;
|
|
15
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2017-2025 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 apiRegistry_1 = require("../../../apiRegistry");
|
|
22
|
+
const middleware_1 = require("../../../middleware");
|
|
23
|
+
const services_1 = require("../../../services");
|
|
24
|
+
const AbstractController_1 = __importDefault(require("../../AbstractController"));
|
|
25
|
+
class RcAccountsProxyInfoController extends AbstractController_1.default {
|
|
26
|
+
constructor(_api) {
|
|
27
|
+
var _a;
|
|
28
|
+
const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
|
|
29
|
+
const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
|
|
30
|
+
if (!rcSpecName) {
|
|
31
|
+
throw new Error('Relay chain API spec name is not defined.');
|
|
32
|
+
}
|
|
33
|
+
super(rcSpecName, '/rc/accounts/:address/proxy-info', new services_1.AccountsProxyInfoService(rcSpecName));
|
|
34
|
+
/**
|
|
35
|
+
* Get the latest account proxy info of `address` from the relay chain.
|
|
36
|
+
*
|
|
37
|
+
* @param req Express Request
|
|
38
|
+
* @param res Express Response
|
|
39
|
+
*/
|
|
40
|
+
this.getAccountProxyInfo = async ({ params: { address }, query: { at } }, res) => {
|
|
41
|
+
var _a;
|
|
42
|
+
const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
|
|
43
|
+
if (!rcApi) {
|
|
44
|
+
throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
|
|
45
|
+
}
|
|
46
|
+
const hash = await this.getHashFromAt(at, { api: rcApi });
|
|
47
|
+
RcAccountsProxyInfoController.sanitizedSend(res, await this.service.fetchAccountProxyInfo(hash, address));
|
|
48
|
+
};
|
|
49
|
+
this.initRoutes();
|
|
50
|
+
}
|
|
51
|
+
initRoutes() {
|
|
52
|
+
this.router.use(this.path, middleware_1.validateAddress);
|
|
53
|
+
this.safeMountAsyncGetHandlers([['', this.getAccountProxyInfo]]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
RcAccountsProxyInfoController.controllerName = 'RcAccountsProxyInfo';
|
|
57
|
+
RcAccountsProxyInfoController.requiredPallets = [['Proxy']];
|
|
58
|
+
exports.default = RcAccountsProxyInfoController;
|
|
59
|
+
//# sourceMappingURL=RcAccountsProxyInfoController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RcAccountsProxyInfoController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/accounts/RcAccountsProxyInfoController.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,sDAA0D;AAC1D,oDAAsD;AACtD,gDAA6D;AAC7D,kFAA0D;AAE1D,MAAqB,6BAA8B,SAAQ,4BAA4C;IAGtG,YAAY,IAAY;;QACvB,MAAM,aAAa,GAAG,MAAA,gCAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,0CAAE,MAAM,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,kCAAkC,EAAE,IAAI,mCAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;QAUjG;;;;;WAKG;QACK,wBAAmB,GAAkC,KAAK,EACjE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EACtC,GAAG,EACa,EAAE;;YAClB,MAAM,KAAK,GAAG,MAAA,gCAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;YAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1D,6BAA6B,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3G,CAAC,CAAC;QA5BD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,4BAAe,CAAC,CAAC;QAE5C,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;;AAhBM,4CAAc,GAAG,qBAAqB,AAAxB,CAAyB;AACvC,6CAAe,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,AAAd,CAAe;kBAFjB,6BAA6B"}
|