UNPKG

@darwinia/types

Version:
158 lines (133 loc) 5.24 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.typesBundleForPolkadotApps = exports.typesBundleForPolkadot = exports.typesBundle = exports.types = exports.jsonrpc = void 0; var _spec = _interopRequireDefault(require("@darwinia/types-known/spec")); var _definitions = _interopRequireDefault(require("../interfaces/balances/definitions")); var _definitions2 = _interopRequireDefault(require("../interfaces/bridges/definitions")); var _definitions3 = _interopRequireDefault(require("../interfaces/bsc/definitions")); var _definitions4 = _interopRequireDefault(require("../interfaces/darwiniaInject/definitions")); var _definitions5 = _interopRequireDefault(require("../interfaces/democracy/definitions")); var _definitions6 = _interopRequireDefault(require("../interfaces/eth/definitions")); var _definitions7 = _interopRequireDefault(require("../interfaces/evm/definitions")); var _definitions8 = _interopRequireDefault(require("../interfaces/fee/definitions")); var _definitions9 = _interopRequireDefault(require("../interfaces/headerMMR/definitions")); var _definitions10 = _interopRequireDefault(require("../interfaces/proxy/definitions")); var _definitions11 = _interopRequireDefault(require("../interfaces/relayerGame/definitions")); var _definitions12 = _interopRequireDefault(require("../interfaces/session/definitions")); var _definitions13 = _interopRequireDefault(require("../interfaces/staking/definitions")); var _utils = require("./utils"); // Copyright 2017-2022 @darwinia/types authors & contributors // SPDX-License-Identifier: Apache-2.0 /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable sort-keys */ const polkadotCompatibleTypes = { AccountData: { free: 'Balance', reserved: 'Balance', freeKton: 'Balance', reservedKton: 'Balance' }, BalanceLock: { id: 'LockIdentifier', lockFor: 'LockFor', lockReasons: 'LockReasons' }, IndividualExposure: { who: 'AccountId', ringBalance: 'Compact<Balance>', ktonBalance: 'Compact<Balance>', power: 'Power' }, LockReasons: { _enum: { Fee: null, Misc: null, All: null } }, RelayAuthoritySigner: 'EthereumAddress', StakingLedgerT: { stash: 'AccountId', active: 'Compact<Balance>', activeDepositRing: 'Compact<Balance>', activeKton: 'Compact<Balance>', depositItems: 'Vec<TimeDepositItem>', ringStakingLock: 'StakingLock', ktonStakingLock: 'StakingLock', claimedRewards: 'Vec<EraIndex>' } }; const definitions = { balances: _definitions.default, bridges: _definitions2.default, bsc: _definitions3.default, darwiniaInject: _definitions4.default, democracy: _definitions5.default, eth: _definitions6.default, evm: _definitions7.default, fee: _definitions8.default, headerMMR: _definitions9.default, proxy: _definitions10.default, relayerGame: _definitions11.default, session: _definitions12.default, staking: _definitions13.default }; const types = { ...(0, _utils.typesFromDefinitions)(definitions) }; exports.types = types; const jsonrpc = (0, _utils.jsonrpcFromDefinitions)(definitions); // NOTE: The mapping is done from specName in state.getRuntimeVersion exports.jsonrpc = jsonrpc; function getBundleFromSpecName(specName, isPolkadotCompatible) { return { alias: {}, rpc: jsonrpc, types: [..._spec.default[specName]].map(version => { return { minmax: version.minmax, // eslint-disable-next-line // @ts-ignore types: { ...types, ...version.types, ...(isPolkadotCompatible ? polkadotCompatibleTypes : []) } }; }) }; } const typesBundleForPolkadotApps = { spec: { Crab: getBundleFromSpecName('Crab', true), CrabParachain: getBundleFromSpecName('CrabParachain', true), Darwinia: getBundleFromSpecName('Darwinia', true), Pangolin: getBundleFromSpecName('Pangolin', true), PangolinParachain: getBundleFromSpecName('PangolinParachain', true), Pangoro: getBundleFromSpecName('Pangoro', true) } }; // Compatible with the old version exports.typesBundleForPolkadotApps = typesBundleForPolkadotApps; const typesBundleForPolkadot = { spec: { crab: getBundleFromSpecName('Crab', true), CrabParachain: getBundleFromSpecName('CrabParachain', true), darwinia: getBundleFromSpecName('Darwinia', true), pangolin: getBundleFromSpecName('Pangolin', true), PangolinParachain: getBundleFromSpecName('PangolinParachain', true), pangoro: getBundleFromSpecName('Pangoro', true) } }; exports.typesBundleForPolkadot = typesBundleForPolkadot; const typesBundle = { spec: { Crab: getBundleFromSpecName('Crab', false), CrabParachain: getBundleFromSpecName('CrabParachain', false), Darwinia: getBundleFromSpecName('Darwinia', false), Pangolin: getBundleFromSpecName('Pangolin', false), PangolinParachain: getBundleFromSpecName('PangolinParachain', false), Pangoro: getBundleFromSpecName('Pangoro', false) } }; exports.typesBundle = typesBundle;