This file contains project-specific instructions and context for Claude Code sessions.
ShadowVault is a privacy-first password manager built for the ETHGlobal NY hackathon with:
- Frontend: Next.js 14 App Router with TypeScript and Privy Authentication
- Smart Contracts: Hardhat project on Zircuit Garfield Testnet
- Blockchain: Zircuit network (Advanced ZK-optimized L2)
- Security: Zero-knowledge proofs, encrypted storage, OpenZeppelin standards
ShadowVault/
├── ShadowVaultApp/ # Next.js frontend application
│ ├── app/ # App Router pages
│ │ ├── vault/ # Password management UI
│ │ ├── security/ # Security settings
│ │ ├── analytics/ # Usage analytics
│ │ ├── networks/ # Network management
│ │ └── onboarding/ # User onboarding
│ ├── components/ # Reusable React components
│ │ └── ui/ # shadcn/ui components
│ ├── lib/ # Utility libraries
│ ├── hooks/ # Custom React hooks
│ └── public/ # Static assets
├── ShadowVaultContracts/ # Hardhat smart contracts
│ ├── contracts/ # Solidity contracts
│ ├── scripts/ # Deployment scripts
│ ├── test/ # Contract tests
│ └── typechain-types/ # Generated TypeScript types
├── .gitignore # Git ignore rules
└── CLAUDE.local.md # This file
cd ShadowVaultApp
npm install # Install dependencies
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLintcd ShadowVaultContracts
npm install # Install dependencies
npm run build # Compile contracts
npm run test # Run tests
npm run deploy:zircuit # Deploy to Zircuit Garfield Testnet- ✅ ShadowVault.sol: Main contract with OpenZeppelin security
- ✅ Zircuit Garfield Testnet: Network setup and configuration
- ✅ Comprehensive Tests: 16 tests covering all functionality
- ✅ Deployment Scripts: Automated deploy with explorer URLs
- ✅ Live Deployment: Contract deployed at
0xFfD385c7BC7645846449363825a31435DA6d2095
- ✅ Modern UI: shadcn/ui components with dark/light theme
- ✅ App Router: Next.js 14 app directory structure
- ✅ TypeScript: Full type safety
- ✅ Privy Authentication: Multi-method auth (email, SMS, wallet)
- ✅ Wagmi Integration: Web3 wallet connectivity
- ✅ Responsive Design: Mobile-first approach
- OpenZeppelin Standards: Ownable, ReentrancyGuard, Pausable
- Input Validation: Comprehensive validation for all functions
- Access Control: User isolation and owner permissions
- Gas Optimization: Efficient storage and operations
- Environment Variables: Sensitive data in .env files
- Type Safety: TypeScript for runtime error prevention
- Secure Defaults: Security-first configurations
- Chain ID: 48898
- RPC URL: https://garfield-testnet.zircuit.com
- Explorer: https://explorer.garfield-testnet.zircuit.com
- Faucet: Use Sepolia faucets (Zircuit uses Sepolia ETH)
- Features: ZK-optimized, EIP-7702 compatible, Pectra opcodes
// Live deployment
const SHADOWVAULT_ADDRESS = "0xFfD385c7BC7645846449363825a31435DA6d2095";
const CHAIN_ID = 48898;
const EXPLORER_URL = "https://explorer.garfield-testnet.zircuit.com/address/0xFfD385c7BC7645846449363825a31435DA6d2095";- Configure
.envin ShadowVaultContracts:PRIVATE_KEY=your_64_character_private_key ZIRCUIT_RPC_URL=https://garfield-testnet.zircuit.com REPORT_GAS=false
- Deploy:
npm run deploy:zircuit - Interact:
npx hardhat run scripts/interact.ts --network zircuitGarfieldTestnet <contract_address> - Verify:
npx hardhat verify --network zircuitGarfieldTestnet <contract_address> <deployer_address>
- Start dev server:
npm run dev - Add components: Use shadcn/ui CLI
- Test responsive: Check mobile/desktop layouts
- Update contract integration after deployment
- Smart Contracts: Use Hardhat console and tests
- Frontend: Browser DevTools and Next.js error overlay
- Network Issues: Check Zircuit network status
- Explorer: https://explorer.garfield-testnet.zircuit.com for transaction debugging
- Contract developed and tested
- Zircuit Garfield Testnet configuration complete
- Successfully deployed to Zircuit (
0xFfD385c7BC7645846449363825a31435DA6d2095) - Live testing and interaction confirmed
- Explorer URLs integrated in deployment scripts
- Core UI components implemented
- App Router structure complete
- Privy authentication integrated
- Wagmi Web3 connectivity configured
- Environment variables updated with contract address
- Full end-to-end testing (authentication + contract interaction)
- Production deployment
- Theme: Dark/light mode support
- Colors: Consistent color palette
- Typography: Clean, readable fonts
- Spacing: Consistent spacing scale
- Components: shadcn/ui for consistency
- Onboarding: Step-by-step user guidance
- Security: Clear security indicators
- Privacy: Privacy-first messaging
- Performance: Fast loading and interactions
- TypeScript: Strict mode enabled
- ESLint: Code quality enforcement
- Prettier: Code formatting
- Testing: Comprehensive test coverage
- Components: PascalCase (UserProfile.tsx)
- Utilities: camelCase (crossChain.ts)
- Pages: kebab-case (vault/add/page.tsx)
- Contracts: PascalCase (ShadowVault.sol)
- Next.js 14 Docs
- shadcn/ui Components
- Hardhat Documentation
- OpenZeppelin Contracts
- Zircuit Documentation
- Privy Documentation
- Wagmi Documentation
- Frontend: Next.js, TypeScript, Tailwind CSS, Privy, Wagmi
- Smart Contracts: Hardhat, Solidity, OpenZeppelin
- Blockchain: Zircuit Garfield Testnet, Zircuit Explorer
- Package Manager: npm (frontend), npm (contracts)
- Frontend-contract integration needs end-to-end testing
- Password encryption/decryption flow needs implementation
- User credential management UI needs completion
- Cross-chain support expansion
- Advanced analytics dashboard
- Mobile app development
- Additional security features
For development questions:
- Check this documentation first
- Review project README files
- Check official framework documentation
- Use GitHub issues for bugs
Last Updated: 2025-08-16 Project Status: Active Development Hackathon: ETHGlobal NY