Commit graph

14 commits

Author SHA1 Message Date
399610bcc8 revert: restore the d6e38d2 showcase, keep only the $500 minimum deposit
All checks were successful
deploy / deploy (push) Successful in 1m18s
Remove the client-side simulated vault and all its wiring (simVault.ts,
AppBoard/DepositPanel/PositionPanel/useCampaigns sim paths, the balance/
faucet changes) and restore the original local dev addresses. The only
change retained over d6e38d2 is the $500 minimum-deposit rule: the
MIN_DEPOSIT/BelowMinimum contract enforcement plus the "Min. deposit $500"
frontend validation. Working tree now equals d6e38d2 + that feature.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 21:41:12 +03:00
27f01990f0 feat: drop the demo balance/faucet from the showcase deposit flow
All checks were successful
deploy / deploy (push) Successful in 1m17s
Remove the pre-funded wallet ($25k hUSD) and the faucet step from the
client-side vault so the showcase reads like a real, already-funded mainnet
wallet: no balance readout, no MAX, no "Get hUSD". The flow is simply
approve -> deposit. Only the vault allowance is tracked (a single approve
covers later deposits). Portfolio swaps the "Wallet balance" tile for
"Rewards claimed". Storage key bumped to v2 so any stale $25k state from a
prior visit is discarded.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 20:47:05 +03:00
b147d7a766 feat: full client-side vault flow in the showcase build
All checks were successful
deploy / deploy (push) Successful in 46s
When no on-chain vault is reachable (the production/showcase build), route
faucet -> approve -> deposit -> withdraw/claim through a client-side vault
(lib/simVault) instead of firing an on-chain tx that has no contract to hit.
This removes the ContractFunctionExecutionError and makes the desk behave
exactly like the live app: a funded wallet, realistic confirm delays,
positions that show in the portfolio, campaign depth that grows and rewards
that accrue over time (tuned to the displayed APRs). No funds move.

Wired through AppBoard (deposit/claim/withdraw), DepositPanel and
PositionPanel, plus useCampaigns/usePositions/usePosition so TVL, LP counts
and positions all reflect the simulated deposits. On-chain path (dev/anvil,
or any future real deployment) is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 20:28:57 +03:00
70ed11c7dd feat: enforce a $500 minimum deposit
All checks were successful
deploy / deploy (push) Successful in 44s
Contract: add MIN_DEPOSIT (500e6) + BelowMinimum error, checked against the
combined credit (stable leg + valued stock leg) in _deposit, so it covers
single- and dual-sided deposits. Tests updated (sub-$500 fixtures raised,
fuzz bounds lifted) plus three new cases; 33/33 pass. ABI regenerated.

Frontend: pre-submit validation in AppBoard and DepositPanel — button
disables with a "Min. deposit $500" label and an inline error below the
minimum, so users get feedback before signing. Shared MIN_DEPOSIT_USD /
MIN_DEPOSIT_UNITS constants. Also refreshes the local anvil addresses in the
dev deployment block (dev-only; prod uses the seed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 19:58:06 +03:00
Денис Зефиров
d6e38d2a17 chore: switch decorative CJK from Japanese to Chinese, drop em-dashes
All checks were successful
deploy / deploy (push) Successful in 50s
- Translate every Japanese kana/kanji glyph on the page to Simplified
  Chinese: side rail, CyberGrid lexicon rail, folios, footer, scramble pool,
  partner header (e.g. 流動性デスク -> 流动性交易台, katakana terms -> 哈希/流动性/深度/…).
- Remove em-dashes from the remaining code comments.
- Tighten two thesis lines that read as AI filler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 00:36:49 +04:00
Денис Зефиров
9dae780f30 feat: denser market cards — fill the empty space
All checks were successful
deploy / deploy (push) Successful in 1m7s
Each market panel gains a full-width depth-fill meter (depth vs target),
an expanded stat column (spread est, fee/reward/net APR alongside the
existing figures) and a micro-stat stack under the health dial (target,
fill %, ends-in, boost). Fills the previously empty card interior.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 00:25:58 +04:00
Денис Зефиров
c05b185b99 feat: crisp HUD charts (drop blur glow) + richer cyber backdrop
All checks were successful
deploy / deploy (push) Successful in 58s
- Remove the drop-shadow blur from SlippageCurve/DepthHistory/HealthRadial so
  the segmented meter, depth trace and health dial render crisp.
- CyberGrid: add a dotted survey field, two targeting reticles, a katakana
  lexicon rail, corner brackets and a coordinate header alongside the existing
  survey lines and decoding labels.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 00:13:14 +04:00
Денис Зефиров
a0da0712c7 feat: cyberpunk HUD charts + drop "test" from faucet copy
All checks were successful
deploy / deploy (push) Successful in 1m41s
- SlippageCurve: segmented depth-charge meter with a volt redline at the 2%
  slippage limit, replacing the flat bar.
- DepthHistory: area trace with survey grid, peak marker and a pulsing live
  'now' node.
- HealthRadial: ticked radial dial with reticle crosshairs instead of the
  plain arc.
- Faucet/action copy: "Get test hUSD" -> "Get hUSD", "Get test {SYM}" ->
  "Get {SYM}", "test hUSD minted" -> "hUSD minted".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 23:41:04 +04:00
Денис Зефиров
9f00841623 fix: depth chart crosshair tracks cursor when SVG is letterboxed
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>
2026-07-11 23:33:58 +04:00
Денис Зефиров
68baf5704b fix: seed campaign data when no live vault is reachable
All checks were successful
deploy / deploy (push) Successful in 54s
The public build sets ACTIVE_CHAIN_ID to Arbitrum Sepolia (421614), which has
no deployment and isn't in the prod wagmi config, so useReadContracts never
resolved -> Campaigns/Markets/Positions hung on skeletons forever.

Add CAMPAIGN_SEED (mirrors script/Deploy.s.sol's launch set) and HAS_LIVE_VAULT.
When no vault is reachable, useCampaigns returns the seeded launch set instead
of reading on-chain, and the position/balance reads are disabled so they can't
hang against an unreachable chain. Live anvil/dev path is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 23:25:06 +04:00
Денис Зефиров
24fb890971 feat: mainnet wallet, cyberpunk backdrop layer, real market data, hoodquidity.com
All checks were successful
deploy / deploy (push) Successful in 1m8s
- Switch wallet connect default to Robinhood Chain mainnet (4663); keep testnet
  and anvil selectable. Header chip and hero folio now read Mainnet.
- New CyberGrid fx layer: survey lines, cross marks, corner locators, vertical
  kanji + scramble glyphs across Markets/Campaigns/Positions/Partners/AppBoard,
  echoing the hero's cyberpunk instrumentation.
- New DepthCanyon: 2D isometric voxel crater hero, single contained core glow
  (no bleed onto copy).
- Real per-token market data via Dexscreener /tokens/{mint} on canonical xStock
  mints; realistic prices/volume/liquidity.
- Remove VAULT address line from footer.
- Deploy target -> hoodquidity.com.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 23:15:27 +04:00
Денис Зефиров
fc5f189a7a deploy: temporary nip.io domain until the real one lands
All checks were successful
deploy / deploy (push) Successful in 34s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 08:50:32 +04:00
Денис Зефиров
4082b66280 ci: Forgejo Actions deploy workflow from platform template
All checks were successful
deploy / deploy (push) Successful in 35s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 08:44:04 +04:00
Денис Зефиров
dba2811447 Hoodquidity: liquidity campaigns for Robinhood Chain stock token markets
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>
2026-07-11 08:32:28 +04:00