diff --git a/sum-reward/project.yaml b/sum-reward/project.yaml index ff46905..5f45d36 100644 --- a/sum-reward/project.yaml +++ b/sum-reward/project.yaml @@ -23,18 +23,38 @@ dataSources: filter: module: staking method: Reward + - handler: handleRewarded + kind: substrate/EventHandler + filter: + module: staking + method: Rewarded - handler: handleSlash kind: substrate/EventHandler filter: module: staking method: Slash + - handler: handleSlashed + kind: substrate/EventHandler + filter: + module: staking + method: Slashed - handler: handleStakingReward kind: substrate/EventHandler filter: module: staking method: Reward + - handler: handleStakingRewarded + kind: substrate/EventHandler + filter: + module: staking + method: Rewarded - handler: handleStakingSlash kind: substrate/EventHandler filter: module: staking method: Slash + - handler: handleStakingSlashed + kind: substrate/EventHandler + filter: + module: staking + method: Slashed \ No newline at end of file diff --git a/sum-reward/src/mappings/Reward.ts b/sum-reward/src/mappings/Reward.ts index c4187b1..d4494e2 100644 --- a/sum-reward/src/mappings/Reward.ts +++ b/sum-reward/src/mappings/Reward.ts @@ -19,6 +19,9 @@ export async function handleBond(event: SubstrateEvent): Promise { } } +export async function handleRewarded(event: SubstrateEvent): Promise { + await handleReward(event) +} export async function handleReward(event: SubstrateEvent): Promise { const {event: {data: [account, newReward]}} = event; @@ -37,6 +40,10 @@ export async function handleReward(event: SubstrateEvent): Promise { await entity.save(); } +export async function handleSlashed(event: SubstrateEvent): Promise { + await handleSlash(event) +} + export async function handleSlash(event: SubstrateEvent): Promise { const {event: {data: [account, newSlash]}} = event; let entity = await SumReward.get(account.toString()); diff --git a/sum-reward/src/mappings/Staking.ts b/sum-reward/src/mappings/Staking.ts index bae88fb..e33ae38 100644 --- a/sum-reward/src/mappings/Staking.ts +++ b/sum-reward/src/mappings/Staking.ts @@ -2,6 +2,9 @@ import {StakingReward, StakingSlash} from '../types/models'; import {SubstrateEvent} from "@subql/types"; import {Balance} from '@polkadot/types/interfaces'; +export async function handleStakingRewarded(event: SubstrateEvent): Promise { + await handleStakingReward(event) +} export async function handleStakingReward(event: SubstrateEvent): Promise { const {event: {data: [account, newReward]}} = event; @@ -12,6 +15,10 @@ export async function handleStakingReward(event: SubstrateEvent): Promise await entity.save(); } +export async function handleStakingSlashed(event: SubstrateEvent): Promise { + await handleStakingSlash(event) +} + export async function handleStakingSlash(event: SubstrateEvent): Promise { const {event: {data: [account, newSlash]}} = event; const entity = new StakingSlash(`${event.block.block.header.number}-${event.idx.toString()}`);