openhands
878d1337df
fix: Clean up dead code and stale domain references across landing + web-app ( #189 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 13:04:02 +00:00
johba
66106077ba
feat: wallet P&L with average cost basis tracking ( #156 ) ( #158 )
2026-02-19 16:22:23 +01:00
johba
76b2635e63
Replace UBI with ETH reserve in ring buffer, fix Dockerfile HEALTHCHECK, enhance LiveStats ( #154 )
2026-02-19 14:47:15 +01:00
johba
31063379a8
feat/ponder-lm-indexing ( #142 )
2026-02-18 00:19:05 +01:00
johba
4277f19b68
feature/ci ( #84 )
...
Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/84
2026-02-02 19:24:57 +01:00
traddoo
beefe22f90
fix(web-app): position ID, issuance earned ( #96 )
...
Bug #1 : Position ID Transformation Issue (#95 )
Problem: Frontend applied incorrect byte conversion to position IDs, causing transactions to fail with "NoPermission"
errors.
Root Cause: formatId() function did little-endian byte conversion on already-correct numeric strings from GraphQL.
Fix: Direct conversion BigInt(obj.id) instead of formatId(obj.id as Hex) in usePositions.ts.
Result: Users can now successfully stake/unstake positions.
---
Bug #2 : Issuance Earned Calculation Error (#97 )
Problem: Frontend showed negative "Issuance Earned" values (e.g., -4,991 KRK) due to wrong mathematical formula.
Root Cause: Formula calculated position.totalSupplyInit - currentTotalSupply (always negative when supply increases).
Fix: Correct formula (currentTotalSupply - position.totalSupplyInit) × position.share in Vue components.
Result: Shows realistic positive earnings and enables proper economic monitoring.
Co-authored-by: steve <steve@harberg.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/96
Co-authored-by: traddoo <traddoo@noreply.codeberg.org>
Co-committed-by: traddoo <traddoo@noreply.codeberg.org>
2025-11-20 19:44:10 +01:00
johba
a555a2fdd1
refactor: migrate kraiken-lib to explicit subpath imports (BREAKING CHANGE) ( #89 )
...
Removes the barrel export pattern in favor of explicit subpath imports
for better tree-shaking and clearer dependencies.
## Breaking Changes
- Removed `src/helpers.ts` barrel export
- Removed `./helpers` from package.json exports
- Root `kraiken-lib` import now raises build errors
- Consumers MUST use explicit subpaths:
- `kraiken-lib/abis` - Contract ABIs
- `kraiken-lib/staking` - Staking helpers
- `kraiken-lib/snatch` - Snatch selection
- `kraiken-lib/ids` - Position ID utilities
- `kraiken-lib/subgraph` - Byte conversion utilities
- `kraiken-lib/taxRates` - Tax rate constants
- `kraiken-lib/version` - Version validation
## Changes
- kraiken-lib:
- Bumped version to 1.0.0 (breaking change)
- Updated src/index.ts to raise build errors
- Added backward-compatible ABI aliases (KraikenAbi, StakeAbi)
- Updated all test files to use .js extensions and new imports
- Updated documentation (README, AGENTS.md)
- Consumer updates:
- services/ponder: Updated ponder.config.ts to use kraiken-lib/abis
- web-app: Updated all imports to use subpaths
- composables/usePositions.ts: kraiken-lib/subgraph
- contracts/harb.ts: kraiken-lib/abis
- contracts/stake.ts: kraiken-lib/abis
## Migration Guide
```typescript
// OLD
import { getSnatchList } from 'kraiken-lib/helpers';
import { KraikenAbi } from 'kraiken-lib';
// NEW
import { getSnatchList } from 'kraiken-lib/snatch';
import { KraikenAbi } from 'kraiken-lib/abis';
```
Fixes #86
Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/89
2025-11-20 18:54:53 +01:00
johba
d8119da65b
feat: surface stack versions in app footer
2025-10-11 17:21:45 +00:00
johba
bd475c2271
min stake from backend ( #78 )
...
resolves #74
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/78
2025-10-11 15:30:08 +02:00
johba
55321eff65
position stream
2025-10-11 12:33:35 +00:00
johba
371a8557b7
improve web-app config
2025-10-11 10:55:49 +00:00
johba
6cbb1781ce
tax rate, version and compose ( #70 )
...
resolves #67
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/70
2025-10-07 19:26:08 +02: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
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
02a057622c
better backend comms
2025-09-24 09:41:28 +02:00
johba
ba64e725dc
replaced subgraph with ponder
2025-09-23 19:24:05 +02:00
johba
25fc4a4c4d
more logic to lib
2025-09-23 16:57:49 +02:00
johba
769fa105b8
added web-app and landing
2025-09-23 14:18:04 +02:00