UNPKG

@substrate/api-sidecar

Version:

REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.

83 lines 3.61 kB
"use strict"; // Copyright 2017-2025 Parity Technologies (UK) Ltd. // This file is part of Substrate API Sidecar. // // Substrate API Sidecar is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. Object.defineProperty(exports, "__esModule", { value: true }); const apiRegistry_1 = require("../../apiRegistry"); const sanitizeNumbers_1 = require("../../sanitize/sanitizeNumbers"); const polkadotV1000001Metadata_1 = require("../../test-helpers/metadata/polkadotV1000001Metadata"); const registries_1 = require("../../test-helpers/registries"); const typeFactory_1 = require("../../test-helpers/typeFactory"); const mock_1 = require("../test-helpers/mock"); const AccountsProxyInfoService_1 = require("./AccountsProxyInfoService"); const factoryApi = (0, typeFactory_1.createApiWithAugmentations)(polkadotV1000001Metadata_1.polkadotMetadataRpcV1000001); const factory = new typeFactory_1.TypeFactory(factoryApi); const proxies = () => Promise.resolve().then(() => { const vec = factory.vecOf([ registries_1.polkadotRegistryV1000001.createType('PalletProxyProxyDefinition', { delegate: '12TzkPCrVfrZxupsdkt3vxZQS7Ajw3DVcpFpBH2PBDU4Uyja', proxyType: 'Staking', delay: '0', }), registries_1.polkadotRegistryV1000001.createType('PalletProxyProxyDefinition', { delegate: '14hS1sUjM1GRdYG3GthbncPecsAwcRUKKXd4YWXYFrXC8Qqr', proxyType: 'Any', delay: '0', }), ]); return [vec, registries_1.polkadotRegistryV1000001.createType('u128', '1000000000')]; }); const historicApi = { query: { proxy: { proxies, }, }, }; const mockApi = { ...mock_1.defaultMockApi, at: (_hash) => historicApi, }; const accountsProxyInfoService = new AccountsProxyInfoService_1.AccountsProxyInfoService('mock'); describe('AccountsProxyInfoService', () => { beforeAll(() => { jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => { return mockApi; }); }); it('Should correctly query proxies', async () => { const res = await accountsProxyInfoService.fetchAccountProxyInfo(mock_1.blockHash789629, '12oMWhAvv3rRUU1etckbDipaF9orZpkgPeoPPCLY43gJZ3BJ'); expect((0, sanitizeNumbers_1.sanitizeNumbers)(res)).toStrictEqual({ at: { hash: '0x7b713de604a99857f6c25eacc115a4f28d2611a23d9ddff99ab0e4f1c17a8578', height: '789629', }, delegatedAccounts: [ { delay: '0', delegate: '12TzkPCrVfrZxupsdkt3vxZQS7Ajw3DVcpFpBH2PBDU4Uyja', proxyType: 'Staking', }, { delay: '0', delegate: '14hS1sUjM1GRdYG3GthbncPecsAwcRUKKXd4YWXYFrXC8Qqr', proxyType: 'Any', }, ], depositHeld: '1000000000', }); }); }); //# sourceMappingURL=AccountsProxyInfoService.spec.js.map