Commit Graph

56 Commits

Author SHA1 Message Date
pezkuwichain 9259b68a3d Refactor: remove dead relay staking code, add AH reward handlers
- Delete NewEra.ts (all relay staking code was dead)
- Refactor Rewards.ts: remove relay/parachain handlers, add handleAHRewarded/handleAHSlashed for Asset Hub staking rewards
- Add staking::Rewarded and staking::Slashed handlers to pezkuwi-assethub.yaml
- Remove dead cachedStakingRewardEraIndex from Cache.ts
- Clean unused PEZKUWI_RELAY_GENESIS import from PoolRewards.ts
2026-02-21 14:23:58 +03:00
pezkuwichain fc5d101b75 fix: noter bot queries staking data from Asset Hub instead of Relay Chain
Staking pallet moved from RC to AH. Updated noter to query
assetHubApi.query.staking.* for direct staking data.
2026-02-21 14:12:48 +03:00
pezkuwichain 6c5b7ae879 feat: save direct nominators and validators as activeStakers on AH
Previously only pool stash accounts were saved as activeStakers.
Direct nominators/validators on Asset Hub were missing, causing
the wallet dashboard to show INACTIVE for direct stakers.
2026-02-21 02:42:18 +03:00
pezkuwichain 727deaefb6 Fix Prettier formatting 2026-02-21 01:49:53 +03:00
pezkuwichain 57563c7fc0 Remove obsolete docker-compose version attribute 2026-02-21 01:46:24 +03:00
pezkuwichain 3cc7a7b245 Remove relay staking handlers after pallet removal (spec 1_020_006)
Staking pallet (index 9), FastUnstake (15), and VoterBagsList (100)
were removed from the relay chain. The relay indexer now only tracks
transfers and signed extrinsics. Added safety try-catch to staking
queries in case handlers are accidentally re-enabled.
2026-02-21 01:40:34 +03:00
pezkuwichain 8a5681db33 fix: use GITHUB_TOKEN instead of PAT_TOKEN for branch sync 2026-02-19 06:21:26 +03:00
pezkuwichain ae0dac0a11 ci: add sync-branches workflow to keep main and master in sync 2026-02-19 05:55:42 +03:00
pezkuwichain fe95e137b3 fix: use explicit yaml path for codegen and build in deploy 2026-02-19 04:38:59 +03:00
pezkuwichain 37ee9ffd9f fix: add yarn build to deploy workflow
dist/ is gitignored so VPS needs to build TypeScript
handlers locally after git pull.
2026-02-19 04:34:16 +03:00
pezkuwichain dcbd38fb5f fix: set startBlock to current chain height
RPC nodes run in pruned mode (~256 blocks state history).
Setting startBlock to recent blocks ensures all required
state is available. Old blocks have no significant user
transactions to index.
2026-02-19 02:33:47 +03:00
pezkuwichain 0130c5984a fix: also patch @polkadot/api Init.js for pruned state
The _getBlockRegistryViaHash method in @polkadot/api calls
getRuntimeVersion.raw(header.parentHash) which fails for genesis
and other pruned blocks. Add fallback to current runtime version.
2026-02-19 02:28:40 +03:00
pezkuwichain d270504c9a fix: handle pruned RPC state in SubQuery node
Substrate nodes prune historical state by default (~256 blocks).
When SubQuery restarts and tries to fetch runtime version for old
blocks, it crashes with "State already discarded". This patch adds
a fallback to current runtime version when historical state is
unavailable, preventing crash loops on pruned RPC endpoints.

Also removes --pull from deploy workflow to avoid unnecessary
full rebuilds on every push.
2026-02-19 02:22:52 +03:00
pezkuwichain 151389a0cc style: fix prettier formatting across mapping files 2026-02-19 01:51:15 +03:00
pezkuwichain 71f0cce337 feat(governance): add OpenGov v2 indexer for referenda, votes, delegations
Index convictionVoting and referenda pallet data to support PezWallet
governance UI — referendum tracking, casting votes, delegation stats,
and delegator vote propagation.
2026-02-19 01:40:21 +03:00
pezkuwichain f717173d3d fix: use AH totalIssuance for APY, filter tiny-stake validator outliers 2026-02-18 06:13:31 +03:00
pezkuwichain b4e765ee50 fix: use relay total supply constant for AH APY calculation 2026-02-18 06:04:21 +03:00
pezkuwichain a7d11ce6a2 feat: add APY computation to AH SubQuery, clean relay SubQuery from AH pool logic 2026-02-18 06:00:45 +03:00
pezkuwichain 5447579477 feat: save pool stash active stakers with AH genesis from relay SubQuery 2026-02-18 05:55:05 +03:00
pezkuwichain 9c9c2a132f fix: add 'modl' prefix to pool stash derivation to match Substrate PalletId::into_sub_account_truncating 2026-02-18 05:42:45 +03:00
pezkuwichain c22f9b90e0 fix: convert Uint8Array to hex string for AccountId createType 2026-02-18 05:23:45 +03:00
pezkuwichain 358f13db50 fix: save pool stash accounts with relaychain type for wallet compat
The wallet queries activeStakers with the pool's bonded stash address
and stakingType="relaychain" (unwrapped from nomination-pool). Derive
pool stash accounts from bondedPools and save with correct type.
2026-02-18 05:18:44 +03:00
pezkuwichain 81c6c89bfb fix: read validators from overview to capture all active stakers
Validators with only self-stake (no nominator pages) were missing.
Now reads erasStakersOverview for complete validator list.
2026-02-18 04:50:18 +03:00
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
pezkuwichain 7b58fa0e4a feat: add AH GraphQL engine + block handler for pool stakers init
- Add handleBlock to query live chain state for existing pool members
- Add second GraphQL engine container for Asset Hub schema (port 3001)
- Register block handler in pezkuwi-assethub.yaml
2026-02-18 04:07:45 +03:00
pezkuwichain 1c79402d5c feat: track nomination pool members as active stakers
Add handlePoolBonded/handlePoolUnbonded handlers to Asset Hub SubQuery.
When a user bonds to a nomination pool, they are saved as an ActiveStaker
with networkId=AssetHub and stakingType=nomination-pool. This fixes the
wallet showing INACTIVE for HEZ stakers.
2026-02-18 03:14:44 +03:00
pezkuwichain 407cba9aef fix: noter bot RPC endpoints point to VPS3 chain nodes 2026-02-17 01:55:05 +03:00
pezkuwichain 64c5f9e5d6 feat: add noter secret setup script 2026-02-17 01:35:02 +03:00
pezkuwichain 174bd41d6e feat: add noter bot service for staking score data submission 2026-02-17 01:32:51 +03:00
pezkuwichain eefae7469d Update genesis hashes and startBlock for mainnet relaunch
- Relay chain: 0xbb4a61ab... -> 0x1aa94987...
- Asset Hub: 0x00d0e1d0... -> 0xe7c15092...
- Reset startBlock to 1 for full re-index from genesis
2026-02-15 22:18:07 +03:00
pezkuwichain 8f051d719a Fix prettier formatting 2026-02-14 04:45:15 +03:00
pezkuwichain 9ca7f8d00f Add TZ=UTC to SubQuery node environments 2026-02-14 04:37:14 +03:00
pezkuwichain a8b7d16b97 Patch api-augment exports map instead of filesystem shim
Node.js checks package.json exports before filesystem, so the
mkdir+echo shim didn't work. Now patches the exports map with
node -e to add ./substrate pointing to pezkuwi augmentation.
2026-02-14 04:33:32 +03:00
pezkuwichain 01ec544b84 Add rpc-augment alias and substrate shim to Dockerfile.node
- Add missing @polkadot/rpc-augment alias to @pezkuwi/rpc-augment
- Create substrate shim for @polkadot/api-augment/substrate that
  re-exports @pezkuwi/api-augment's pezkuwi augmentation, fixing
  ERR_PACKAGE_PATH_NOT_EXPORTED when @subql/node requires it
2026-02-14 04:27:04 +03:00
pezkuwichain 43e4a5d939 Use custom Dockerfile.node with @pezkuwi API aliases instead of generic subql-node 2026-02-14 04:15:57 +03:00
pezkuwichain dd2c3c7d1b Lower relay startBlock to 199000 to capture StakersElected event 2026-02-14 03:32:37 +03:00
pezkuwichain 6123284d95 Lower relay startBlock to 199500 to capture era 6 transition 2026-02-14 03:22:00 +03:00
pezkuwichain 433553e4d0 Set Asset Hub startBlock closer to head for pruned RPC 2026-02-14 02:54:47 +03:00
pezkuwichain a4b711f7b4 Update startBlock to recent values for pruned RPC compatibility 2026-02-14 02:47:03 +03:00
pezkuwichain 04f0042e0d Add explicit --db-schema to separate relay and assethub schemas 2026-02-14 02:41:23 +03:00
pezkuwichain 076b54bdc9 Add multi-staking entities, APY calculation, Asset Hub indexer support
- Add StakingApy, ActiveStaker, Reward entities to schema.graphql
- Add APY calculation engine in NewEra.ts (inflation curve + validator commission)
- Add saveMultiStakingReward to Rewards.ts and PoolRewards.ts
- Add handleAssetTransfer for assets.Transferred events
- Add constants.ts with genesis hashes and inflation params
- Add docker-compose.prod.yml for production deployment (relay + assethub nodes)
- Add deploy-vps.yml GitHub Actions workflow for auto-deploy on push
2026-02-14 02:38:22 +03:00
pezkuwichain 9922e8ba89 Fix query service schema and set startBlock for pruned RPC
- Change query service --name=app to --name=project to match node schema
- Set startBlock to 185900 (RPC endpoints are pruned, no archive available)
2026-02-13 02:51:44 +03:00
pezkuwichain 74e29b92f4 Use standard onfinality/subql-node - chainTypes handles Pezkuwi recognition 2026-02-13 02:32:14 +03:00
pezkuwichain a18cb0019e Fix wasm-crypto package versions (7.5.x) 2026-02-13 02:28:15 +03:00
pezkuwichain dcf901660a Add wasm-crypto packages to SubQuery node aliases 2026-02-13 02:27:09 +03:00
pezkuwichain 30899df0a4 Add self-hosted SubQuery node with @pezkuwi aliases
- Custom Dockerfile.node that aliases @polkadot/* to @pezkuwi/* packages
- Updated docker-compose.yml to build custom node image
- Added chainTypes/pezkuwi.json with Pezkuwi type definitions
- Updated pezkuwi.yaml manifest with chaintypes reference
- Added @subql/common-substrate dependency

This allows running SubQuery node with Pezkuwi chain recognition
instead of showing "Unknown Network" error.
2026-02-13 02:17:48 +03:00
pezkuwichain 0b0519bff8 Add codegen step to security workflow and fix prettier formatting 2026-02-13 01:51:37 +03:00
pezkuwichain 62550b442b Fix subql CLI syntax and remove non-existent validate command 2026-02-13 01:48:50 +03:00
pezkuwichain 15eeb16cd4 Fix subql commands: use correct CLI syntax for codegen and build 2026-02-13 01:46:08 +03:00
pezkuwichain 618cea47c6 Specify manifest file (-f pezkuwi.yaml) in CI workflows 2026-02-13 01:44:24 +03:00