johba
dc61771dfc
feat(ponder): Add strict ESLint + Prettier with pre-commit hooks ( #52 )
...
- Install eslint, @typescript-eslint plugins, prettier, husky, lint-staged
- Configure ESLint flat config with TypeScript parser
- Enforce: no-explicit-any (with exceptions), no-unused-vars, naming-convention, prefer-const, no-console
- Set style: 2-space indent, 140 char max-len, disable complexity rules
- Configure Prettier: single quotes, 140 width, trailing commas
- Setup husky pre-commit hook to auto-fix and format on commit
- Replace console.log/warn with context.logger.info/warn in handlers
- Remove console.log from ponder.config.ts (replaced with comment)
- Add npm scripts: lint, lint:fix, format, format:check
- All lint rules pass without warnings
resolvel #45
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/52
2025-10-04 15:37:26 +02:00
johba
c150b683c8
Merge pull request 'Add Solidity linting with solhint, Foundry formatter, and pre-commit hooks' ( #57 ) from lint/onchain into master
...
Reviewed-on: https://codeberg.org/johba/harb/pulls/57
2025-10-04 15:18:56 +02:00
johba
d7c2184ccf
Add Solidity linting with solhint, Foundry formatter, and pre-commit hooks ( #51 )
...
## Changes
### Configuration
- Added .solhint.json with recommended rules + custom config
- 160 char line length (warn)
- Double quotes enforcement (error)
- Explicit visibility required (error)
- Console statements allowed (scripts/tests need them)
- Gas optimization warnings enabled
- Ignores test/helpers/, lib/, out/, cache/, broadcast/
- Added foundry.toml [fmt] section
- 160 char line length
- 4-space tabs
- Double quotes
- Thousands separators for numbers
- Sort imports enabled
- Added .lintstagedrc.json for pre-commit auto-fix
- Runs solhint --fix on .sol files
- Runs forge fmt on .sol files
- Added husky pre-commit hook via lint-staged
### NPM Scripts
- lint:sol - run solhint
- lint:sol:fix - auto-fix solhint issues
- format:sol - format with forge fmt
- format:sol:check - check formatting
- lint / lint:fix - combined commands
### Code Changes
- Added explicit visibility modifiers (internal) to constants in scripts and tests
- Fixed quote style in DeployLocal.sol
- All Solidity files formatted with forge fmt
## Verification
- ✅ forge fmt --check passes
- ✅ No solhint errors (warnings only)
- ✅ forge build succeeds
- ✅ forge test passes (107/107)
resolves #44
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/51
2025-10-04 15:17:09 +02:00
johba
7961bfdada
Add Solidity linting with solhint, Foundry formatter, and pre-commit hooks
...
- Added .solhint.json with recommended rules + custom config
- 160 char line length (warn)
- Double quotes enforcement (error)
- Explicit visibility required (error)
- Console statements allowed (scripts/tests need them)
- Gas optimization warnings enabled
- Ignores test/helpers/, lib/, out/, cache/, broadcast/
- Added foundry.toml [fmt] section
- 160 char line length
- 4-space tabs
- Double quotes
- Thousands separators for numbers
- Sort imports enabled
- Added .lintstagedrc.json for pre-commit auto-fix
- Runs solhint --fix on .sol files
- Runs forge fmt on .sol files
- Added husky pre-commit hook via lint-staged
- lint:sol - run solhint
- lint:sol:fix - auto-fix solhint issues
- format:sol - format with forge fmt
- format:sol:check - check formatting
- lint / lint:fix - combined commands
- Added explicit visibility modifiers (internal) to constants in scripts and tests
- Fixed quote style in DeployLocal.sol
- All Solidity files formatted with forge fmt
- ✅ forge fmt --check passes
- ✅ No solhint errors (warnings only)
- ✅ forge build succeeds
- ✅ forge test passes (107/107)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 13:15:31 +00:00
johba
f8927b426e
webapp - ESLint + Prettier with pre-commit hooks ( #54 )
...
resolves #47
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/54
2025-10-03 16:51:44 +02:00
johba
2acb619a11
feat(landing): add strict ESLint + Prettier with pre-commit hooks ( #50 )
...
- Install ESLint 9 with flat config, TypeScript, Vue plugins
- Configure Prettier (140 char, 2-space indent, single quotes)
- Add pre-commit hooks via husky + lint-staged for auto-fix
- Rename components to multi-word (Countdown → CountdownTimer, etc.)
- Add explicit TypeScript prop/emit interfaces
- Remove all console.log statements
- Fix all ESLint violations and type errors
- Verify type-check, build, and HMR working
resolves #43
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/50
2025-10-03 13:19:20 +02:00
johba
09c36f2c87
lint/lib ( #49 )
...
resolves #42
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/49
2025-10-03 11:57:01 +02:00
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