mirror of
https://github.com/pezkuwichain/pezkuwi-subquery.git
synced 2026-04-22 01:57:58 +00:00
3dc7a19dee
The event-based StakersElected handler had a bug where paged exposure data wasn't properly extracted. Add handleRelayBlock that queries erasStakersPaged directly from live chain state on first block to ensure all validators and nominators are captured.
97 lines
2.9 KiB
YAML
97 lines
2.9 KiB
YAML
specVersion: 1.0.0
|
|
name: subquery-pezkuwi-staking
|
|
version: 1.0.0
|
|
runner:
|
|
node:
|
|
name: "@subql/node"
|
|
version: ">=4.6.6"
|
|
query:
|
|
name: "@subql/query"
|
|
version: "*"
|
|
description: Pezkuwi Staking SubQuery - Indexes staking rewards, slashes, era data for PezWallet
|
|
repository: https://github.com/pezkuwichain/pezkuwi-subquery
|
|
schema:
|
|
file: ./schema.graphql
|
|
network:
|
|
chainId: "0x1aa94987791a5544e9667ec249d2cef1b8fdd6083c85b93fc37892d54a1156ca"
|
|
endpoint:
|
|
- wss://rpc.pezkuwichain.io
|
|
- wss://mainnet.pezkuwichain.io
|
|
chaintypes:
|
|
file: ./chainTypes/pezkuwi.json
|
|
dataSources:
|
|
- name: main
|
|
kind: substrate/Runtime
|
|
startBlock: 1
|
|
mapping:
|
|
file: ./dist/index.js
|
|
handlers:
|
|
# Block handler: initialize active relay stakers from chain state
|
|
- handler: handleRelayBlock
|
|
kind: substrate/BlockHandler
|
|
# Signed extrinsics for history
|
|
- handler: handleHistoryElement
|
|
kind: substrate/CallHandler
|
|
filter:
|
|
isSigned: true
|
|
# Staking rewards (old format)
|
|
- handler: handleReward
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: staking
|
|
method: Reward
|
|
# Staking rewards (new format - Polkadot 2.0)
|
|
- handler: handleRewarded
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: staking
|
|
method: Rewarded
|
|
# Nomination Pools rewards
|
|
- handler: handlePoolReward
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: nominationPools
|
|
method: PaidOut
|
|
# Slashing (old format)
|
|
- handler: handleSlash
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: staking
|
|
method: Slash
|
|
# Slashing (new format)
|
|
- handler: handleSlashed
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: staking
|
|
method: Slashed
|
|
# Pool bonded slash
|
|
- handler: handlePoolBondedSlash
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: nominationPools
|
|
method: PoolSlashed
|
|
# Pool unbonding slash
|
|
- handler: handlePoolUnbondingSlash
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: nominationPools
|
|
method: UnbondingPoolSlashed
|
|
# Transfers
|
|
- handler: handleTransfer
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: balances
|
|
method: Transfer
|
|
# Era changes (old format)
|
|
- handler: handleNewEra
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: staking
|
|
method: StakingElection
|
|
# Era changes (new format - Polkadot 2.0)
|
|
- handler: handleStakersElected
|
|
kind: substrate/EventHandler
|
|
filter:
|
|
module: staking
|
|
method: StakersElected
|