Commit Graph
11 Commits
Author SHA1 Message Date
SatoshiQaziMuhammed 676f2f7474 fix(noter): use the public endpoints and fail loudly when scans stop (#1)
The bot pointed at the block-producing nodes' RPC ports. Those bind to
localhost, so once they stopped being exposed to the internet the bot lost
every chain at once and has submitted nothing since. `staking_score` gates
the entire trust score, so a noter that cannot reach the chains does not
degrade the score — it zeroes it for every tracked account.

Point it at the public endpoints instead, which is what an external client
should use and what the code already defaulted to. They are TLS-terminated
rather than plaintext ws:// across the internet, and this drops a hardcoded
node address from the repository.

Reaching the chains again is not enough on its own: the outage lasted three
weeks because reconnecting forever looks identical to working. The bot now
writes a heartbeat when a scan *completes*, a container healthcheck reads it,
and a watchdog exits once it goes stale so the restart policy turns a silent
stall into a visibly crash-looping container.
2026-08-05 12:45:25 -07:00
Kurdistan Tech Ministry a4a5314f79 Add auto-payout bot for AH staking rewards
- payout-bot/bot.js: Periodically calls payoutStakersByPage for all
  validators in completed eras. Runs every 10 minutes.
- payout-bot/Dockerfile: Node 20 alpine with @pezkuwi/api
- docker-compose.prod.yml: Add payout-bot service with secret mnemonic
2026-02-21 17:03:13 +03:00
Kurdistan Tech Ministry 57563c7fc0 Remove obsolete docker-compose version attribute 2026-02-21 01:46:24 +03:00
Kurdistan Tech Ministry 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
Kurdistan Tech Ministry 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
Kurdistan Tech Ministry 407cba9aef fix: noter bot RPC endpoints point to VPS3 chain nodes 2026-02-17 01:55:05 +03:00
Kurdistan Tech Ministry 174bd41d6e feat: add noter bot service for staking score data submission 2026-02-17 01:32:51 +03:00
Kurdistan Tech Ministry 9ca7f8d00f Add TZ=UTC to SubQuery node environments 2026-02-14 04:37:14 +03:00
Kurdistan Tech Ministry 43e4a5d939 Use custom Dockerfile.node with @pezkuwi API aliases instead of generic subql-node 2026-02-14 04:15:57 +03:00
Kurdistan Tech Ministry 04f0042e0d Add explicit --db-schema to separate relay and assethub schemas 2026-02-14 02:41:23 +03:00
Kurdistan Tech Ministry 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