This project contains the main features of the allswap application.
If you want to contribute, please refer to the contributing guidelines of this project.
- State Management: Migrated from local component state to Wagmi for blockchain interactions
- UI Framework: Updated from custom CSS/components to Tailwind CSS with Headless UI
- Wallet Connection: Replaced custom wallet modal with RainbowKit integration
- Routing: Migrated from React Router to Next.js App Router
- Styling: Consolidated to utility-first Tailwind CSS approach
- Components: Replaced custom component library with shadcn/ui-inspired components
- Data Fetching: Switched from SWR to TanStack Query for server state management
- Environment Configuration: Moved RPC configuration from .env to Wagmi config for better encapsulation
- Configuration Structure: Organized config into src/config/ directory with web3 and contracts modules
-
New Dependencies:
@tanstack/react-query- For server state management@rainbow-me/rainbowkit- For wallet connection UIwagmi- For Ethereum blockchain interaction hooksviem- For Ethereum utilities@web3modal/wagmi- For Web3Modal integrationnext- Latest version with App Routertailwindcss- For utility-first stylingheadlessui- For accessible UI components
-
Updated Dependencies:
reactandreact-domto latest stable versions@types/node,@types/reactfor better TypeScript support
-
Removed Dependencies:
- Custom wallet connection modals
- Legacy styling libraries
- Old state management solutions
src/config/web3/index.ts- Web3/Wagmi configuration with RPC fallbacks and connectorssrc/config/contracts.ts- Contract addresses from environment variables.env- Environment variables (using NEXT_PUBLIC_ prefix for Next.js)
- Migration Time: 2026-05-24T12:40:13+03:00
- Active Development File:
src/components/WalletProviderModal/components/WalletCard.tsx(reference) - Current Branch:
main - Deployment Target: Netlify (via
netlify.toml)
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Build for production:
npm run build
-
Start production server:
npm start
Environment variables are stored in .env (not committed):
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID: WalletConnect project ID- Contract addresses for tokens and distributors
Note: RPC endpoints are now configured with fallback mechanisms in src/config/web3/index.ts for better reliability.
- Wallet connection with multiple providers (MetaMask, WalletConnect, Web3Modal auth, etc.)
- Token claiming functionality (HopeNobt airdrop)
- Staking and farming interfaces for BRT and HopeNobt tokens
- Real-time blockchain data via Wagmi and TanStack Query
- Responsive design with Tailwind CSS
- Netlify-ready deployment configuration
- RPC load balancing with multiple fallback providers