Skip to content

Conversation

@junhoyeo
Copy link
Member

@junhoyeo junhoyeo commented Sep 20, 2025

Summary by CodeRabbit

  • New Features

    • Wallet connection UI with connect, wrong-network, and account states (shortened address, optional balance).
    • Persistent top navigation with logo, sections, and wallet access.
    • Landing page introduced as the app's default entry.
  • Style

    • Global dark theme applied.
    • Optician Sans and Instrument Sans fonts integrated.
  • Chores

    • App providers added for wallet, UI, and data-fetching; major framework/runtime and React upgrades; Testnet (Hyperliquid EVM) configured.

@coderabbitai
Copy link

coderabbitai bot commented Sep 20, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Adds RainbowKit/Wagmi and React Query integration with providers and UI components; introduces fonts, address utilities, chain/config exports, global dark styles, Next.js webpack fallback, new landing page, and multiple core repo updates including Solady submodule, deployment scripts, contract adjustments, and documentation.

Changes

Cohort / File(s) Summary
Repo config & submodules
.gitmodules, packages/core/remappings.txt, packages/core/.gitignore
Added Solady submodule (packages/core/lib/solady), added remapping @solady/=lib/solady/src/, and adjusted .gitignore rules for out/deploy/ and broadcast.
App dependencies & build
packages/app/package.json, packages/app/next.config.js
Upgraded Next.js/React/types; added @rainbow-me/rainbowkit, @tanstack/react-query, viem, wagmi; enabled webpack5 and added webpack fallback to disable @react-native-async-storage/async-storage.
App providers & entry
packages/app/src/pages/_app.tsx, packages/app/next-env.d.ts
Wrapped app with WagmiProvider, RainbowKitProvider, QueryClientProvider; added NavigationBar; changed MyApp to React.FC; added TS reference to ./.next/types/routes.d.ts.
Wallet UI & navigation
packages/app/src/components/ConnectButton.tsx, packages/app/src/components/NavigationBar.tsx
New ConnectButton using RainbowKit render prop (connect/chain/account states) and styled components; new top NavigationBar including logo, links, and ConnectButton.
Chains & wagmi config
packages/app/src/constants/chains.ts, packages/app/src/constants/config.ts
Re-exported hyperliquidEvmTestnet from viem/chains; added exported wagmiConfig via getDefaultConfig (appName, projectId, chains, transports).
Fonts & global styles
packages/app/src/fonts/index.ts, packages/app/src/styles/global.css
Added OpticianSans (local) and InstrumentSans (Google) exports; global dark theme rules for html, body (background #141b1d, color #fff).
Utilities & utils
packages/app/src/utils/address.ts, packages/app/src/utils/config.ts
Added shortenAddress, isSameAddress, isNativeToken (uses viem types/zeroAddress); added typed Config and exported Config from env var.
Pages & routing
packages/app/src/features/landing/LandingPage.tsx, packages/app/src/pages/index.tsx, packages/app/src/home/HomePage.tsx
Added LandingPage and changed index export to it; removed old HomePage (file deleted).
Type & tooling samples
packages/core/typescript/fetch-index.ts, packages/app/next-env.d.ts
HyperliquidAPI now accepts baseUrl and sample usage updated for mainnet/testnet.
Core contracts & scripts
packages/core/src/CrestManager.sol, packages/core/script/Deploy.s.sol, packages/core/script/Empty.sol, packages/core/script/DeployCrestVault.s.sol
CrestManager made chain-aware (TESTNET_CHAINID + internal usdt0TokenId/usdt0SpotIndex), adjusted arithmetic parentheses; added Deploy.s.sol deployment script and Empty helper contract; removed DeployCrestVault.s.sol.
Core deployments & config
packages/core/deployments/998.json, packages/core/foundry.toml
Added deployment manifest 998.json; enabled foundry fs_permissions for ./deployments, optimizer=true, optimizer_runs=200.
Docs
packages/core/README.md
Replaced short README with comprehensive architecture and operational guide for CrestVault strategy.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant NextApp as NextApp/_app
  participant Wagmi as WagmiProvider
  participant RK as RainbowKitProvider
  participant Nav as NavigationBar
  participant Btn as ConnectButton
  participant Wallet as Wallet

  User->>NextApp: Request page
  NextApp->>Wagmi: Initialize with wagmiConfig
  NextApp->>RK: Initialize RainbowKit (theme, modal)
  NextApp->>Nav: Render NavigationBar
  Nav->>Btn: Render ConnectButton
  User->>Btn: Click "Connect Wallet"
  Btn->>RK: Open connect modal
  RK->>Wallet: Prompt and request account
  Wallet-->>RK: Account & chain returned
  alt Unsupported chain
    Btn->>RK: Open chain modal (request switch)
    Wallet-->>RK: Chain switched
  else Connected
    Btn-->>User: Show address / balance / account menu
  end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

I twitch my whiskers, code aglow,
New chains arrive, the wallets show.
A hop, a click, the modals sing,
Short tails trimmed—addresses ring.
Dark fields hum, deployments set to go 🐇


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

@junhoyeo junhoyeo changed the base branch from main to citrus/landing September 20, 2025 23:07
Comment on lines +4 to +13
export const OpticianSans = localFont({
src: './Optician-Sans.otf',
display: 'block',
fallback: ['Optician Sans', 'Inter', 'sans-serif'],
});

export const InstrumentSans = Instrument_Sans({
subsets: ['latin'],
weight: ['400', '500', '600', '700'],
});
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

폰트

  • 기본값은 Instrument Sans (_app 에서 설정됨)
  • font-family: ${OpticianSans.style.fontFamily}; 이런 식으로 변경해 사용할 수 있음

@junhoyeo junhoyeo mentioned this pull request Sep 20, 2025
@junhoyeo
Copy link
Member Author

@citrusinesis RainbowKit/Wagmi/Viem (지갑 연결 위한 라이브러리) 및 폰트 설정 추가했습니다.
작업 중인 내용과 겹치시면 PR 닫고 참고만 하시면 됩니다!

Copy link
Contributor

@citrusinesis citrusinesis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@citrusinesis citrusinesis merged commit 00e6c18 into citrus/landing Sep 21, 2025
2 of 3 checks passed
@citrusinesis citrusinesis deleted the junhoyeo/init-wagmi branch September 21, 2025 04:26
@citrusinesis citrusinesis restored the junhoyeo/init-wagmi branch September 21, 2025 04:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants