Context
Shared types package. Consumed by apps/web + apps/keeper. ABIs auto-generated from Foundry out/ — never hand-maintained.
Ref: PRISM_PRD_v1.0.html §Day 1.
Scope
In scope:
packages/shared/src/abi.ts (generated)
packages/shared/src/addresses.ts
packages/shared/src/types.ts
Out of scope:
Runtime validation (Zod lives in app-layer)
Acceptance Criteria
Dependencies
Blocks: [frontend] scripts/export-abis.ts: Foundry out/ → packages/shared/abi.ts automation #46 , [frontend] Vault detail page layout: header + TVL/APR/share-price metrics + positions table #50 , [frontend] Deposit form: paired amount inputs + approval flow + preview + tx state machine #52 , [frontend] Withdraw form: share input + proportional preview + tx state machine #53 , [keeper] Monorepo scaffold: apps/keeper with src/index.ts + config.ts + .env schema (Zod) #55
Blocked by: [contracts] IVault interface: deposit, withdraw, rebalance, views, events, Position struct #19 , [contracts] IStrategy interface: TargetPosition struct + computePositions + shouldRebalance #20 , [contracts] IProtocolHook interface: V4 callback selectors + getHookPermissions #21
References
Estimate
S
Context
Shared types package. Consumed by apps/web + apps/keeper. ABIs auto-generated from Foundry out/ — never hand-maintained.
Ref: PRISM_PRD_v1.0.html §Day 1.
Scope
In scope:
packages/shared/src/abi.ts(generated)packages/shared/src/addresses.tspackages/shared/src/types.tsOut of scope:
Acceptance Criteria
packages/shared(never hand-maintained)pnpm typecheck && pnpm lint && pnpm testpassDependencies
References
Estimate
S