Shonen-Labs/Roster-Rumble

CONTRACT: Player Registry Contract

Open

#26 ouverte le 23 avr. 2025

Voir sur GitHub
 (2 commentaires) (0 réactions) (1 assigné)TypeScript (11 forks)auto 404
ODHack 14contractgood first issue

Métriques du dépôt

Stars
 (4 stars)
Métriques de merge PR
 (Métriques PR en attente)

Description

Title: On-Chain Player Metadata Management
Description
Create contract to store player profiles with IPFS metadata.

Acceptance Criteria:

  • Stores player attributes:
    • Position
    • Base salary
    • Metadata CID
  • Allows admin updates
  • Emits PlayerUpdated events

Technical Details:

#[starknet::contract]
mod PlayerRegistry {
    #[storage]
    struct Storage {
        players: LegacyMap<felt252, Player>,
        admin: felt252
    }

    #[derive(Drop, Serde)]
    struct Player {
        position: u8,
        base_salary: u64,
        metadata_cid: felt252
    }

    #[external(v0)]
    fn register_player(
        ref self: ContractState,
        id: felt252,
        position: u8,
        salary: u64,
        cid: felt252
    ) {
        assert(get_caller_address() == self.admin.read(), 'Unauthorized');
        self.players.write(id, Player { position, base_salary: salary, metadata_cid });
    }
}

Notes:

  • Add versioning for metadata updates
  • Implement batch registration
  • Add salary cap validation

Guide contributeur