No description
|
All checks were successful
deploy / deploy (push) Successful in 49s
DepthChart maps the mouse to SVG space with getBoundingClientRect, which assumes the drawing fills the container. The viewBox (960x380) is narrower than the container, so preserveAspectRatio centers it with ~127px of side padding and the crosshair drifted ~100px from the cursor near the edges. Map through the SVG's own getScreenCTM().inverse() so it stays exact regardless of letterboxing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .design-sync | ||
| .forgejo/workflows | ||
| apps/web | ||
| packages/contracts | ||
| .env | ||
| .env.example | ||
| .gitignore | ||
| bun.lockb | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
Hoodquidity
Liquidity campaigns for Stock Token markets on Robinhood Chain. Deposit stablecoins into a Depth Vault, receive an LP receipt and earn from deeper markets.
Stack
apps/web: React 18 + Vite + Tailwind v4, wagmi + viem + RainbowKit, Framer Motion, SVG animations. Ships as a static build.packages/contracts: Foundry.HoodquidityVaults(campaigns, deposits, masterchef-style rewards with early boost, hybrid exit) andMockERC20(test assets with an open faucet).
Live data: Dexscreener API for tokenized stock prices, volume and liquidity;
https://1rpc.io/eth for L1 chain stats; the vault contract for TVL,
positions and rewards.
Development
pnpm install
# terminal 1: local chain
anvil --port 8545
# terminal 2: multicall3 + demo deployment (5 campaigns)
./packages/contracts/script/setup-local.sh
# terminal 3: the app
pnpm dev
If deploy addresses change, update apps/web/src/lib/contracts.ts.
Tests
pnpm test:contracts
Production build
pnpm build # apps/web/dist, precompressed with gzip + brotli
pnpm preview
Deploy only the apps/web/dist directory to the server.
Before release
- Replace the WalletConnect
projectIdinapps/web/src/lib/wagmi.ts - Set the real Twitter URL in
apps/web/src/lib/constants.ts - Deploy contracts to the public testnet (
script/Deploy.s.sol) and fill in thetestnetdeployment inapps/web/src/lib/contracts.ts