Context
Withdraw counterpart to #52 .
Ref: PRISM_PRD_v1.0.html §Day 2, §Day 5.
Scope
In scope:
components/vault/WithdrawForm.tsx
hooks/useWithdraw.ts
Proportional preview of token0/token1 amounts
Works even if deposits are paused (never-pausable guarantee)
Out of scope:
Anything not listed above.
Acceptance Criteria
Dependencies
Blocks: [test] Playwright E2E: wallet-connect → deposit → observe rebalance → withdraw happy path #67 , [test] Playwright E2E: error paths — wrong network, insufficient balance, tx rejection #68
Blocked by: [design] Deposit + withdraw flow: all tx states (idle/pending/success/error/wrong-network) #8 , [contracts] Vault.withdraw: proportional removal from all positions + never-pausable guarantee #28 , [contracts] Vault views: getPositions, getTotalAmounts, getPoolKey, sharePrice, TVL cap #30 , [frontend] Providers: wagmi v2 + viem v2 + RainbowKit v2 + TanStack Query on Base Sepolia #44 , [frontend] packages/shared: generated ABIs + per-chain addresses + shared TypeScript types #45 , [frontend] scripts/export-abis.ts: Foundry out/ → packages/shared/abi.ts automation #46
References
Estimate
M
Context
Withdraw counterpart to #52.
Ref: PRISM_PRD_v1.0.html §Day 2, §Day 5.
Scope
In scope:
components/vault/WithdrawForm.tsxhooks/useWithdraw.tsOut of scope:
Acceptance Criteria
packages/shared(never hand-maintained)pnpm typecheck && pnpm lint && pnpm testpassDependencies
References
Estimate
M