'Ticket_City contract successfully deployed to': '0x6fd1F53799bC0312a98C36eBA030d3aA7B68264f'
Ticket_City.sol: Main contract handling event logic and XFI paymentsTicket_NFT.sol: Non-transferable NFT implementation for event ticketsTypes.sol: Data structures and enumsErrors.sol: Custom error definitions
- NonReentrant guard for payment functions
- Event organizer verification
- Minimum attendance rate requirements
- Revenue release conditions
graph TD
A[Organizer] -->|Creates Event| B[Ticket_City Contract]
B -->|Deploys| C[NFT Contract]
B -->|Sets| D[Ticket Types]
D -->|FREE| E[Single Ticket Type]
D -->|PAID| F[Regular/VIP Options]
graph TD
A[Attendee] -->|Sends XFI| B[Ticket_City Contract]
B -->|Validates Payment| C[Payment Validation]
C -->|Success| D[Mint NFT Ticket]
D -->|Updates| E[Event Records]
- Web2-like auth flow during which an embedded evm wallet will be created for the users
- A web3 auth for guest users
- Event creation with flexible ticket types (FREE/PAID)
- Ticket categories: Regular and VIP for paid events
- Revenue management through XFI native token
- Attendance tracking and verification system
- Tickets issued as NFTs for security
- Automated ticket pricing based on demand (Future Implementation)
- Event discovery tools, including referral programs and discount codes (Future Implementation)
- Stablecoins payment (Future Implementation)
- Tickets purchased using XFI
- Organizers pay a small platform service fee (30 XFI) for paid events
- Ticket payments held safely until the event ends
- If an event is canceled, attendees get a refund plus a 2 XFI gas fee compensation from the organiser (Future Implementation)
- Event creation with flexible ticket types (FREE/PAID)
- Ticket categories: Regular and VIP for paid events
- Revenue management through XFI native token
- Attendance tracking and verification system
- Tickets issued as NFTs for security
- Automated ticket pricing based on demand (Future Implementation)
- Event discovery tools, including referral programs and discount codes (Future Implementation)
- Stablecoins payment (Future Implementation)
- Tickets purchased using XFI
- Organizers pay a small platform service fee (30 XFI) for paid events
- Ticket payments held safely until the event ends
- If an event is canceled, attendees get a refund plus a 2 XFI gas fee compensation from the organiser (Future Implementation)
- XFI payments held in contract
- 60% minimum attendance requirement
- Automated revenue release post-event
- Manual release option for owner
- Attendance tracked through QR codes or wallet authentication
- Attendee-controlled attendance marking
- Bulk verification support by an attendee that registered for others (Future Implementation)
- Attendance rate calculation
- Revenue release conditions
FREE_TICKET_PRICE: 0 XFIMINIMUM_ATTENDANCE_RATE: 60%
- Custom errors for gas optimization
- Comprehensive validation checks
- Secure payment processing
Smart Contract Repository: https://github.com/CityBlockLab/TicketCitySmartContract
- Node.js (v16 or higher)
- npm or yarn
- Git
- Alchemy API key for CrossFi Testnet access
# Clone repository
git clone https://github.com/CityBlockLab/TicketCityFrontend
cd TicketCityFrontend
# Install dependencies
yarn
# Copy environment file
check hardhat config file...- Node.js (v16 or higher)
- npm or yarn
- Git
# Clone repository
git clone https://github.com/CityBlockLab/Ticket_City_Smart_Contract
cd Ticket_City_Smart_Contract
# Install dependencies
yarn install
# Start development server
npm run dev
## Development Workflow
## Contributing Guidelines
### Issue Management
- Use provided issue templates
- Tag with appropriate labels
- Include detailed description
- Tag repository @devbigeazi
2. **Picking Issues**
- Comment on the issue you want to work on
- Wait for assignment
- Tag repository @devbigeazi
### Branch Management
```bash
# Create new feature branch
git checkout -b feature/issue-number-description
# Create new bugfix branch
git checkout -b fix/issue-number-description
# Create new documentation branch
git checkout -b docs/issue-number-description-
Before Submitting
- Run tests:
npx hardhat test - Generate coverage:
npx hardhat coverage - Update documentation if needed
- Ensure clean compilation
- Run tests:
-
Submission Requirements
- Link related issue(s)
- Provide detailed description
- Include test results
- Tag repository owner
-
Review Process
- Address review comments
- Update PR as needed
- Maintain communication
- Follow Solidity style guide
- Use NatSpec comments
- Implement proper error handling
- Maintain test coverage
- Follow gas optimization practices
-
Access Control
- Implement role-based access
- Use OpenZeppelin's Ownable where appropriate
- Validate all inputs
-
Payment Handling
- Use pull over push payments
- Implement reentrancy guards
- Handle edge cases
-
Smart Contract Security
- Follow SCSVS guidelines
- Implement emergency stops
- Document assumptions
- Consider gas limitations
- GitHub Issues: Technical problems and bug reports
- Telegram Community: General discussion and support
- Documentation: Comprehensive guides and references
- Security: Private disclosure process for vulnerabilities
For additional support or questions:
- Check existing documentation
- Search closed issues
- Join Telegram community
- Contact @devbigeazi