Skip to content

Commit

Permalink
Merge pull request #17 from stepanLav/fix/type_problems
Browse files Browse the repository at this point in the history
fix build problems with new pjs version
  • Loading branch information
jiqiang90 authored Jun 12, 2024
2 parents de0ad0a + cee3953 commit 3a1aae0
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 10 deletions.
8 changes: 6 additions & 2 deletions src/mappings/Cache.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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: {
Expand Down Expand Up @@ -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<PalletNominationPoolsPoolMember>).isSome,
)
.map(([accountId, member]) => [
accountId.args[0].toString(),
member.unwrap(),
(member as Option<PalletNominationPoolsPoolMember>).unwrap(),
]);
poolMembers = {};
poolMembers[blockId] = members;
Expand Down
14 changes: 9 additions & 5 deletions src/mappings/NewEra.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -16,7 +17,9 @@ export async function handleStakersElected(
}

export async function handleNewEra(event: SubstrateEvent): Promise<void> {
const currentEra = (await api.query.staking.currentEra()).unwrap().toNumber();
const currentEra = ((await api.query.staking.currentEra()) as Option<INumber>)
.unwrap()
.toNumber();

if (api.query.staking.erasStakersOverview) {
await processEraStakersPaged(event, currentEra);
Expand All @@ -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(),
Expand Down
15 changes: 12 additions & 3 deletions src/mappings/PoolRewards.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<
Expand Down Expand Up @@ -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<PalletNominationPoolsPoolMember>;
const pool = poolOption.unwrap();

await handleRelaychainPooledStakingSlash(
bondedSlashEvent,
Expand All @@ -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<PalletNominationPoolsSubPools>
).unwrap();

const pool =
Expand Down

0 comments on commit 3a1aae0

Please sign in to comment.