Files
pezkuwi-subquery/pezkuwi.yaml
T
pezkuwichain 3dc7a19dee fix: add relay block handler to init active stakers from chain state
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.
2026-02-18 04:44:57 +03:00

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