No description
Find a file
johba b1f40374cd feat: Add functional health checks for test prerequisites (#65)
Replaces basic "service is up" checks with functional verification that tests can actually use the services.

## Changes

### New Health Checks
- **RPC Proxy**: Verifies eth_call works and deployed contracts are accessible
- **GraphQL**: Confirms Ponder has indexed data with non-zero stats
- **Web App**: Validates endpoint accessibility

### Improvements
- Clear error messages explain what failed and how to fix it
- Checks verify actual functionality, not just HTTP 200 responses
- Fails fast before tests run with cryptic errors

### Files
- `tests/setup/health-checks.ts` - Core health check functions
- `tests/setup/stack.ts` - Integration with waitForStackReady()
- `tests/HEALTH_CHECKS.md` - Documentation and troubleshooting guide

## Error Message Example

Before:
```
RPC health check failed with status 404
```

After:
```
 Stack health check failed

Failed services:
  • RPC Proxy: RPC proxy returned HTTP 404
    Expected 200, got 404. Check if Anvil is running and RPC_URL is correct.
  • GraphQL Indexer: GraphQL has no indexed data yet
    Ponder is running but has not indexed contract events.

Troubleshooting:
  1. Check stack logs: tail tests/.stack.log
  2. Verify services are running: ./scripts/dev.sh status
  3. Restart stack: ./scripts/dev.sh restart --full
```

## Benefits
-  Tests fail fast with clear error messages
-  Catches configuration issues before tests run
-  Verifies services are actually usable, not just running

resolves #61

Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/65
2025-10-05 20:03:07 +02:00
.husky txnbot - rewrite and lint (#53) 2025-10-04 15:40:30 +02:00
containers first integration tests (#64) 2025-10-05 19:40:14 +02:00
docs start stack from container (#40) 2025-10-02 17:11:22 +02:00
kraiken-lib ponder speedup (#59) 2025-10-04 18:08:10 +02:00
landing feat(landing): add strict ESLint + Prettier with pre-commit hooks (#50) 2025-10-03 13:19:20 +02:00
onchain txnbot - rewrite and lint (#53) 2025-10-04 15:40:30 +02:00
scripts first integration tests (#64) 2025-10-05 19:40:14 +02:00
services first integration tests (#64) 2025-10-05 19:40:14 +02:00
tests feat: Add functional health checks for test prerequisites (#65) 2025-10-05 20:03:07 +02:00
web-app webapp - ESLint + Prettier with pre-commit hooks (#54) 2025-10-03 16:51:44 +02:00
.gitignore start stack from container (#40) 2025-10-02 17:11:22 +02:00
.gitmodules remove redundant lib 2025-09-23 15:16:15 +02:00
AGENTS.md first integration tests (#64) 2025-10-05 19:40:14 +02:00
CLAUDE.md feat: add ABI validation helpers for Ponder (#29) 2025-09-30 20:02:43 +02:00
FINAL_SUMMARY.md startup-optimizations (#48) 2025-10-02 17:00:21 +02:00
HARBERG.md added web-app and landing 2025-09-23 14:18:04 +02:00
package-lock.json first integration tests (#64) 2025-10-05 19:40:14 +02:00
package.json first integration tests (#64) 2025-10-05 19:40:14 +02:00
playwright.config.ts first integration tests (#64) 2025-10-05 19:40:14 +02:00
podman-compose.yml first integration tests (#64) 2025-10-05 19:40:14 +02:00
README.md Update README.md 2025-09-22 15:38:29 +02:00
TECHNICAL_APPENDIX.md fix agent 2025-09-24 09:57:20 +02:00
TEST_RESULTS.md startup-optimizations (#48) 2025-10-02 17:00:21 +02:00
TESTING_SUMMARY.md startup-optimizations (#48) 2025-10-02 17:00:21 +02:00

$HRB is a gig to become successful in DeFi. It is a protocol that implements the fairest ponzi in the world.

This repository structures our approach and manages our collaboration to achieve this goal.

Project Milestones

The fairest ponzi in the world will be launched in 3 stages, each representing a more advanced version of the previous one.

  1. Harberg - a staking market and an speculative laverage platform.
  2. KrAIken - Harberg, but token issuance is governed by an automated liquidity manager.
  3. SoverAIgns - KrAIKen, but the liquidity manager is augmented by AI and deliveres outlandish performance

Project Values and Organization

  • the core value and mantra of the project is: ship, ship, 🚢
  • delivery is valued highest and goes over quality or communication
  • if you see work, do it. most likely every-one but you will lose interest in the project, and you will deliver it by yourself. work this way, take responsibility for everything. document everything methodically in this repository, use .md files, commits, issues(feature request, support issue), and pull requests. if other people still follow this repository collaboration will emerge, and duplication of work will be avoided automatically.
  • no structured communication outside of this repository is relevant for the success, nor will it be rewarded.

open questions

  • multisig? keyholders?
  • payout, shares?

Revenue Sources

  • the tax paid by the stakers will be forwarded to the multisig
  • the liquidity manager contract will collect all liquidity fees and forward them to the multisig
  • at launch of each stage of the project the keyholders will invest a share of the multisig holdings and coordinate to sell at a favorable time. all profits from all sales are the multisigs profits.

Timeline

it would be great if we can launch stage 1 or even 2 for DevCon.

Kick-off Call Harberg

Agenda