harb/kraiken-lib
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
..
src refactor: migrate kraiken-lib to explicit subpath imports (BREAKING CHANGE) (#89) 2025-11-20 18:54:53 +01:00
.gitignore Complete project rename from HARB/Harberg to KRAIKEN with KRK token symbol 2025-07-11 13:47:42 +02:00
.lintstagedrc.json tax rate, version and compose (#70) 2025-10-07 19:26:08 +02:00
.prettierignore tax rate, version and compose (#70) 2025-10-07 19:26:08 +02:00
.prettierrc lint/lib (#49) 2025-10-03 11:57:01 +02:00
AGENTS.md refactor: migrate kraiken-lib to explicit subpath imports (BREAKING CHANGE) (#89) 2025-11-20 18:54:53 +01:00
codegen.yml health checks (#39) 2025-10-02 14:37:59 +02:00
eslint.config.js tax rate, version and compose (#70) 2025-10-07 19:26:08 +02:00
jest.config.cjs fix: configure Jest for ES modules in kraiken-lib (#88) 2025-11-08 12:03:48 +01:00
jest.resolver.cjs fix: configure Jest for ES modules in kraiken-lib (#88) 2025-11-08 12:03:48 +01:00
package-lock.json improve web-app config 2025-10-11 10:55:49 +00:00
package.json refactor: migrate kraiken-lib to explicit subpath imports (BREAKING CHANGE) (#89) 2025-11-20 18:54:53 +01:00
README.md refactor: migrate kraiken-lib to explicit subpath imports (BREAKING CHANGE) (#89) 2025-11-20 18:54:53 +01:00
tsconfig.json fix/podman-postgres-integration (#37) 2025-10-01 20:26:49 +02:00
yarn.lock improve web-app config 2025-10-11 10:55:49 +00:00

Test

yarn test

Import

yarn add kraiken-lib

then

import { bytesToUint256LittleEndian, uint256ToBytesLittleEndian } from "kraiken-lib/subgraph";

uint256ToBytesLittleEndian(3n);

get Snatch List

import { getSnatchList } from "kraiken-lib/snatch";

const positionIds = getSnatchList(positions, neededShares, maxTaxRateDecimal, stakeTotalSupply);