A decentralized application for managing and claiming vested FULA tokens. Built with React, Vite, and wagmi for seamless wallet integration.
- Token Vesting: View and claim vested tokens on Ethereum Mainnet and Base
- Airdrop Claims: Claim airdrop allocations on IoTeX and Base
- Testnet Mining: Claim testnet mining rewards on SKALE Europa
- Multi-Chain Support: Works with Ethereum Mainnet, Base, SKALE Europa, and IoTeX
- Mobile & Desktop: Works on both desktop and mobile browsers with wallet extensions
- Ethereum Mainnet
- Base
- SKALE Europa
- IoTeX
- Node.js 18+
- npm or yarn
- A Web3 wallet (MetaMask, Coinbase Wallet, etc.)
# Clone the repository
git clone https://github.com/functionland/claim-ui.git
cd claim-ui
# Install dependencies
npm install
# Start development server
npm run devnpm run buildThe built files will be in the dist directory.
This project is configured for GitHub Pages deployment. Simply push to the main branch and the GitHub Actions workflow will automatically build and deploy.
- Build the project:
npm run build - Deploy the
distfolder to any static hosting service
- Go to your repository settings
- Navigate to "Pages"
- Set source to "GitHub Actions"
- Push to main branch to trigger deployment
src/
├── components/ # React components
│ ├── admin/ # Admin panel components
│ ├── common/ # Shared components (ConnectButton, etc.)
│ └── vesting/ # Vesting-related components
├── config/ # Configuration files
│ ├── abis.ts # Contract ABIs
│ ├── chains.ts # Chain configurations
│ ├── constants.ts # App constants
│ └── contracts.ts # Contract addresses
├── contexts/ # React contexts
├── hooks/ # Custom React hooks
├── pages/ # Page components
├── types/ # TypeScript types
└── utils/ # Utility functions
The dashboard interacts with the following contracts:
- Token Contract: ERC20 FULA token
- Distribution Contract: Token vesting/distribution
- Airdrop Contract: Airdrop claims
- Testnet Mining Contract: Testnet mining rewards
- Staking Contract: Token staking
- Storage Pool Contract: Storage pool management
- Reward Engine Contract: Reward calculations
This app uses wagmi with injected wallet connectors, supporting:
- MetaMask
- Coinbase Wallet
- Any browser wallet that injects the ethereum provider
No WalletConnect project ID is required - the app works with browser-based wallets out of the box.
# Start dev server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Lint code
npm run lintMIT License
For support, please contact [email protected]