Full build: Vite/React acid-terminal frontend (BEARER design system, Panchang/Sentient/Fragment Mono, neon layer, palette audit script), HoodquidityVaults Foundry contracts (single+dual deposits via Chainlink-style feeds, hybrid exit, 10% platform fee, boost, Genesis LP), Reown AppKit wallet connect with Robinhood Chain testnet (46630), live data from Dexscreener and onchain reads, partner portal, design-sync setup for claude.ai/design. Deploy: static via Forgejo Actions platform, BUILD_DIR=apps/web/dist (.env). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# 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) and `MockERC20`
|
|
(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
|
|
|
|
```sh
|
|
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
|
|
|
|
```sh
|
|
pnpm test:contracts
|
|
```
|
|
|
|
## Production build
|
|
|
|
```sh
|
|
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 `projectId` in `apps/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
|
|
the `testnet` deployment in `apps/web/src/lib/contracts.ts`
|