Commit graph

254 commits

Author SHA1 Message Date
johba
4f7cebda56 start stack from container (#40)
resolves #36

Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/40
2025-10-02 17:11:22 +02:00
johba
3a7162462b startup-optimizations (#48)
resolves #34

Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/48
2025-10-02 17:00:21 +02:00
johba
3ab2d9454a health checks (#39)
resolves #35

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/39
2025-10-02 14:37:59 +02:00
johba
a29ca1a26a Harden kraiken-lib watch loop and confirm host-built dist propagation (#38)
- expand scripts/watch-kraiken-lib.sh to watch atomic rename events, validate required tools, and gracefully restart only the containers that mount kraiken-
  lib/dist
  - verify the host-built dist is mounted read-only inside each service and observe live rebuild + restart behavior under inotify
  - run the local podman stack, exercise the watcher by editing kraiken-lib/src/helpers.ts, and confirm GraphQL responds through Caddy after restarts

resolves #33

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/38
2025-10-02 14:33:59 +02:00
johba
b4c829e4d6 fix/podman-postgres-integration (#37)
resolves #25

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/37
2025-10-01 20:26:49 +02:00
johba
8947ec11ca Merge pull request 'Refactor kraiken-lib helpers into focused modules with updated tests' (#32) from feature/split-kraiken-helpers into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/32
2025-10-01 14:49:30 +02:00
openhands
327e2c1308 addresses issue 27 2025-10-01 14:43:55 +02:00
johba
26a8771848 Extract snatch selection into reusable composable (#30)
## Summary

  - add a useSnatchSelection composable that centralises snatch shortfall calculations, position filtering, and RPC memoisation
  - refactor StakeHolder.vue to consume the composable instead of reimplementing the flow inline
  - introduce Vitest config and first composable tests (useSnatchSelection.spec.ts) to cover empty/partial fills and ownership edge cases
  - wire up project tooling updates so the new tests run (jsdom dep, updated package metadata)

  ## Testing

  - cd web-app && npm install
  - npm test

resolves #24

Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/30
2025-09-30 20:35:47 +02:00
johba
76d84341de feat: add ABI validation helpers for Ponder (#29)
resolves https://codeberg.org/johba/harb/issues/23

Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/29
2025-09-30 20:02:43 +02:00
johba
0eaf91be13 Merge pull request 'Fix #22: Remove 'any' usage and replace shims with proper typed handlers' (#28) from fix-issue-22-remove-any-types into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/28
2025-09-25 18:59:48 +02:00
openhands
aa9ff72ec0 drop lock 2025-09-25 18:57:38 +02:00
openhands
316ea0380f Fix #22: Remove 'any' usage and replace shims with proper typed handlers
- Updated all ponder event handlers to use proper TypeScript types
- Removed all 'any' type annotations from event handlers
- Handlers now properly leverage TypeScript's type inference
- Improved type safety across the ponder indexer

Fixes #22
2025-09-25 18:28:20 +02:00
johba
7da7b12b6b Merge pull request 'feature-podman' (#21) from feature-podman into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/21
2025-09-24 14:14:43 +02:00
root
41700e72da chore: Add dependencies and configs for Podman setup
- Updated kraiken-lib tsconfig and yarn.lock
- Added package.json with playwright-mcp dependency
- Updated uni-v3-lib submodule

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 12:12:54 +00:00
root
ea27fcb722 feat: Complete Podman stack setup with working services
- Fixed service dependencies (removed bootstrap dependency for runtime services)
- Added landing service for documentation site at root path
- Moved web-app to /app path, landing to / path
- Fixed permission issues with lowercase 'z' SELinux context
- Added kraiken-lib compilation in txn-bot container
- Fixed TypeScript build for kraiken-lib with proper volumes
- Updated entrypoint scripts to handle npm installs properly
- Added locale fixes to Containerfiles
- Changed Caddy port from 80 to 8081 for external access
- Updated Docs link to point to local landing page

All services now working:
- Landing page at /
- Web app at /app/
- GraphQL at /graphql
- Transaction bot at /txn
- Anvil RPC at /rpc/anvil

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 12:12:54 +00:00
johba
18d63e14d7 podman wip 2025-09-24 12:12:54 +00:00
johba
efecc5c348 Merge pull request 'fix web-app' (#19) from fix-web-app2 into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/19
2025-09-24 14:03:51 +02:00
johba
4467d41edf fix web-app 2025-09-24 14:02:28 +02:00
johba
967e9085ac Merge pull request 'fix agent' (#18) from fix-agent into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/18
2025-09-24 10:00:08 +02:00
johba
f3fb0f142a fix agent 2025-09-24 09:57:20 +02:00
johba
cbf5ce0733 Merge pull request 'better backend comms' (#17) from fix-web-app into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/17
2025-09-24 09:42:13 +02:00
johba
02a057622c better backend comms 2025-09-24 09:41:28 +02:00
johba
d0e8623cf9 Merge pull request 'basic cheat view' (#8) from feature/cheats into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/8
2025-09-23 21:17:43 +02:00
johba
3f137a2757 basic cheat view 2025-09-23 21:16:15 +02:00
johba
2be1e9d520 Merge pull request 'move ponder' (#7) from move-ponder into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/7
2025-09-23 20:30:28 +02:00
johba
36b7b429ef move ponder 2025-09-23 20:29:51 +02:00
johba
a9207de195 Merge pull request 'replaced subgraph with ponder' (#6) from feature/ponder into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/6
2025-09-23 19:25:39 +02:00
johba
ba64e725dc replaced subgraph with ponder 2025-09-23 19:24:05 +02:00
johba
5e6e21878c Merge pull request 'more logic to lib' (#5) from feature-lib into master
Reviewed-on: https://codeberg.org/johba/harb/pulls/5
2025-09-23 17:00:18 +02:00
johba
25fc4a4c4d more logic to lib 2025-09-23 16:57:49 +02:00
johba
cf6b9fa381 remove redundant lib 2025-09-23 15:16:15 +02:00
johba
769fa105b8 added web-app and landing 2025-09-23 14:18:04 +02:00
johba
af031877a5 fix position calculation 2025-09-23 11:46:57 +02:00
giteadmin
548fd006c1 added docs 2025-09-23 08:49:28 +02:00
johba
b8dc42201a Update README.md 2025-09-22 15:38:29 +02:00
johba
809834f0f7 Merge branch 'master' of ssh://codeberg.org/johba/harb 2025-09-22 15:12:08 +02:00
johba
a480dc7f47 update readme 2025-09-22 15:11:30 +02:00
traddoo
babe126d25 Update HARBERG.md 2025-09-22 15:11:00 +02:00
traddoo
5816ecd0d7 Add HARBERG.md 2025-09-22 14:48:58 +02:00
traddoo
1c7a8dbbf3 Update README.md 2025-09-22 14:48:03 +02:00
Your Name
0de1cffea8 another fixup of fuzzer 2025-09-16 22:46:43 +02:00
Your Name
c32f1b102b small fixes 2025-08-24 18:38:48 +02:00
johba
137adfe82b another rewrite 2025-08-23 22:32:41 +02:00
johba
c72fe56ad0 bounded buy/sell 2025-08-23 16:10:05 +02:00
johba
8b537302d8 feat: Add staking functionality to fuzzing analysis with snatching
- Integrate staking and exitPosition actions into fuzzing scenarios
- Add staking metrics (percentageStaked, avgTaxRate) to CSV output
- Implement snatching mechanism when stake pool reaches capacity
- Add configurable staking parameters (enable/disable, buy bias, staking bias)
- Support configurable number of trades per run
- Simplify to single trader account with proportional ETH funding
- Configure tax rates: 0-15 for initial stakes, 28 for snatching
- Clean up debug logging and verbose output

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 18:29:20 +02:00
johba
74e09bb38b consolidated scripts 2025-08-19 17:35:43 +02:00
johba
10702f5aa3 feat: Enhance fuzzing with staking integration and configurable parameters
- Add staking/unstaking actions to fuzzing scenarios (stake every 3rd trade)
- Implement snatching logic when stake pool reaches capacity (uses max tax rate)
- Add configurable parameters:
  - buyBias: Control buy vs sell ratio (0-100%)
  - stakingBias: Control stake vs unstake ratio (0-100%)
  - tradesPerRun: Configure number of trades per scenario
  - staking: Enable/disable staking entirely
- Simplify to single trading strategy (_executeRandomLargeTrades)
- Fix memory issues by recording only every 5th trade to CSV
- Track staking metrics (stakes attempted/succeeded, snatches attempted/succeeded)
- Update CLAUDE.md with new fuzzing parameters and usage examples
- Clean up old TODO files and unused code

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:57:49 +02:00
johba
27a8998a82 feat: Add buy bias parameter to fuzzing analysis
- Added BUY_BIAS environment variable (0-100%) to control trading direction
- Implemented biased trading logic in all strategies (Random, Whale, Volatile, etc.)
- Created run-improved-fuzzing.sh script with buy bias support
- Fixed memory issues in CSV generation by simplifying string concatenation
- Fixed console.log parameter issues in staking functions
- Updated run-recorded-fuzzing.sh to accept buybias parameter
- Testing shows up to 99% of authorized stake reached with 100% buy bias

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:02:11 +02:00
johba
25d6e2301a out of gas 2025-08-19 13:47:04 +02:00
johba
db23d756e9 fix: Optimize fuzzing and fix CSV buffer accumulation
- Deploy Uniswap factory once before all runs (saves ~1.16M gas per run)
- Fix CSV buffer accumulation bug by clearing buffer between runs
- Add clearCSV() function to CSVManager for proper buffer management
- Each fuzzing run now gets its own clean CSV with correct token0isWeth values
- Comment out failing console.log in Optimizer.t.sol to fix compilation

The token ordering now correctly alternates:
- Even seeds: token0isWeth = true (WETH < KRAIKEN)
- Odd seeds: token0isWeth = false (KRAIKEN < WETH)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 13:30:18 +02:00