Shonen-Labs/Roster-Rumble

BACKEND: Contest Join Flow with PrizePool Integration

Open

#12 opened on Apr 23, 2025

View on GitHub
 (0 comments) (0 reactions) (0 assignees)TypeScript (11 forks)auto 404
Backend/APIODHack 14featurehelp wanted

Repository metrics

Stars
 (4 stars)
PR merge metrics
 (PR metrics pending)

Description

Description
Handle contest entry by interacting with StarkNet's PrizePool contract.

Acceptance Criteria

  • POST /contests/:id/join
    1. Verify JWT and contest exists
    2. Call PrizePool.lock_funds(entryFee) via StarkNet.js
    3. Store transaction hash in participations table
    4. Increment contest participant count
  • Handles transaction errors (e.g., insufficient funds)
  • Returns { txHash: string } on success

Technical Details

const contract = new Contract(PrizePoolABI, PRIZE_POOL_ADDRESS, provider);
const { transaction_hash } = await contract.lock_funds(
  userAddress,
  entryFee
);

Notes

  • Use StarkNet.js v5.0+
  • Implement transaction status polling (ACCEPTED_ON_L2)

Contributor guide