From cee39535d8c31349ff7abf4dfc1e4d12eed16b48 Mon Sep 17 00:00:00 2001 From: Stepan Lavrentev Date: Wed, 12 Jun 2024 11:40:31 +0300 Subject: [PATCH] fix build problems with new pjs version --- src/mappings/Cache.ts | 8 ++++++-- src/mappings/NewEra.ts | 14 +++++++++----- src/mappings/PoolRewards.ts | 15 ++++++++++++--- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/mappings/Cache.ts b/src/mappings/Cache.ts index 360758f7..53cdb166 100644 --- a/src/mappings/Cache.ts +++ b/src/mappings/Cache.ts @@ -6,6 +6,7 @@ import { PalletStakingRewardDestination, PalletNominationPoolsPoolMember, } from "@polkadot/types/lookup"; +import { Option } from "@polkadot/types"; // Due to memory consumption optimization `rewardDestinationByAddress` contains only one key let rewardDestinationByAddress: { @@ -225,10 +226,13 @@ export async function getPoolMembers( const members: [string, PalletNominationPoolsPoolMember][] = ( await api.query.nominationPools.poolMembers.entries() ) - .filter(([_, member]) => member.isSome) + .filter( + ([_, member]) => + (member as Option).isSome, + ) .map(([accountId, member]) => [ accountId.args[0].toString(), - member.unwrap(), + (member as Option).unwrap(), ]); poolMembers = {}; poolMembers[blockId] = members; diff --git a/src/mappings/NewEra.ts b/src/mappings/NewEra.ts index 6135e300..f933d484 100644 --- a/src/mappings/NewEra.ts +++ b/src/mappings/NewEra.ts @@ -6,8 +6,9 @@ import { SpStakingPagedExposureMetadata, SpStakingExposurePage, } from "@polkadot/types/lookup"; -import { Option } from "@polkadot/types-codec"; +import { Option } from "@polkadot/types"; import { INumber } from "@polkadot/types-codec/types/interfaces"; +import { Exposure } from "@polkadot/types/interfaces"; export async function handleStakersElected( event: SubstrateEvent, @@ -16,7 +17,9 @@ export async function handleStakersElected( } export async function handleNewEra(event: SubstrateEvent): Promise { - const currentEra = (await api.query.staking.currentEra()).unwrap().toNumber(); + const currentEra = ((await api.query.staking.currentEra()) as Option) + .unwrap() + .toNumber(); if (api.query.staking.erasStakersOverview) { await processEraStakersPaged(event, currentEra); @@ -36,13 +39,14 @@ async function processEraStakersClipped( const [, validatorId] = key.args; let validatorIdString = validatorId.toString(); + const exp = exposure as unknown as Exposure; const eraValidatorInfo = new EraValidatorInfo( eventId(event) + validatorIdString, validatorIdString, currentEra, - exposure.total.toBigInt(), - exposure.own.toBigInt(), - exposure.others.map((other) => { + exp.total.toBigInt(), + exp.own.toBigInt(), + exp.others.map((other) => { return { who: other.who.toString(), value: other.value.toString(), diff --git a/src/mappings/PoolRewards.ts b/src/mappings/PoolRewards.ts index dcf733e1..07cd6710 100644 --- a/src/mappings/PoolRewards.ts +++ b/src/mappings/PoolRewards.ts @@ -15,12 +15,16 @@ import { import { Codec } from "@polkadot/types/types"; import { u32 } from "@polkadot/types-codec"; import { INumber } from "@polkadot/types-codec/types/interfaces"; -import { PalletNominationPoolsPoolMember } from "@polkadot/types/lookup"; +import { + PalletNominationPoolsPoolMember, + PalletNominationPoolsSubPools, +} from "@polkadot/types/lookup"; import { handleGenericForTxHistory, updateAccumulatedGenericReward, } from "./Rewards"; import { getPoolMembers } from "./Cache"; +import { Option } from "@polkadot/types"; export async function handlePoolReward( rewardEvent: SubstrateEvent< @@ -118,7 +122,10 @@ export async function handlePoolBondedSlash( } = bondedSlashEvent; const poolId = poolIdEncoded.toNumber(); - const pool = (await api.query.nominationPools.bondedPools(poolId)).unwrap(); + const poolOption = (await api.query.nominationPools.bondedPools( + poolId, + )) as Option; + const pool = poolOption.unwrap(); await handleRelaychainPooledStakingSlash( bondedSlashEvent, @@ -145,7 +152,9 @@ export async function handlePoolUnbondingSlash( const eraIdNumber = era.toNumber(); const unbondingPools = ( - await api.query.nominationPools.subPoolsStorage(poolIdNumber) + (await api.query.nominationPools.subPoolsStorage( + poolIdNumber, + )) as Option ).unwrap(); const pool =