Skip to content

Integrate Prize Pool Funding with RewardDistributor #12

Description

@Mrwicks00

Description

Allow users (and admins) to fund prize pools for battles using the RewardDistributor contract.

Tasks

  • Create a custom hook useFundPrizePool() that:
    • Checks USDC balance
    • Approves USDC if needed
    • Calls RewardDistributor.addToPrizePool(battleId, amount) via wagmi
  • Display current prize pool amount from RewardDistributor.prizePool(battleId)
  • Add "Fund Prize Pool" button on battle detail page
  • Add input field for funding amount
  • Show transaction status (pending, success, error)
  • Update prize pool display after successful funding
  • Handle errors (insufficient balance, invalid amount, etc.)

Contract Functions Used

  • RewardDistributor.addToPrizePool(uint256 battleId, uint256 amount) - Fund prize pool
  • RewardDistributor.prizePool(uint256) - Get current prize pool amount
  • MockUSDC.balanceOf(address) - Check user's USDC balance
  • MockUSDC.approve(address, uint256) - Approve USDC spending

Files to Modify

  • frontend/app/battles/[id]/page.tsx
  • frontend/components/prime-meter.tsx
  • frontend/hooks/useFundPrizePool.ts (new file)

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueGood for newcomersnot-paidThis issue or pull request already exists

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions