A minimalist, user-friendly dashboard for staking uOS-WETH LP tokens on Base network. Rewards are manually distributed from the treasury on a weekly basis.
- Stake and unstake LP tokens
- Claim staking rewards
- Real-time APR display
- Wallet connection with RainbowKit
- Responsive design with uOS theme
- Node.js v18+
- npm or yarn
- A Base network RPC URL
- A Base network private key for deployment
- A Basescan API key for contract verification
Create a .env file in the root directory with:
BASE_RPC_URL=your_base_rpc_url
PRIVATE_KEY=your_deployment_private_key
BASESCAN_API_KEY=your_basescan_api_key- Install dependencies:
npm install- Compile contracts:
npx hardhat compile- Run tests:
npx hardhat test- Deploy contracts:
npx hardhat run scripts/deploy.ts --network base- Verify contracts:
npx hardhat verify --network base [CONTRACT_ADDRESS]contracts/StakingRewards.sol: Main staking contractcontracts/interfaces/IStakingRewards.sol: Contract interfacecontracts/test/: Test files
The frontend is already set up to work with the contracts. After deployment:
- Update
.env.localwith the deployed contract addresses - The frontend will automatically use the new contracts
- Node.js v18+
- npm or yarn
- A WalletConnect Project ID
Create a .env.local file with:
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=your_project_id
NEXT_PUBLIC_UOS_TOKEN_ADDRESS=deployed_uos_token_address
NEXT_PUBLIC_LP_TOKEN_ADDRESS=deployed_lp_token_address
NEXT_PUBLIC_STAKING_REWARDS_ADDRESS=deployed_staking_rewards_address- Install dependencies:
npm install- Run development server:
npm run dev- Build for production:
npm run builduOS-finance/
├── app/ # Frontend application
├── contracts/ # Smart contracts
├── scripts/ # Deployment scripts
└── typechain-types/ # Generated contract types
- Create a new branch for your feature
- Make your changes
- Submit a pull request
MIT