From b87b4833ef0212ef1beb48cf37cd4725a8a8cbad Mon Sep 17 00:00:00 2001 From: manlikeHB Date: Sun, 19 Jan 2025 11:28:08 +0100 Subject: [PATCH] chore: add more functions to be impl --- onchain/src/contracts/lyricsflip.cairo | 33 ++++++++++++++++++++++++- onchain/src/interfaces/lyricsflip.cairo | 23 +++++++++++++++++ onchain/src/utils/types.cairo | 1 + 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/onchain/src/contracts/lyricsflip.cairo b/onchain/src/contracts/lyricsflip.cairo index 0f4c6fb5..d49acea8 100644 --- a/onchain/src/contracts/lyricsflip.cairo +++ b/onchain/src/contracts/lyricsflip.cairo @@ -16,7 +16,7 @@ pub mod LyricsFlip { card_count: u64, cards_per_round: u8, cards: Map, - genre_cards: Map>, // genre -> vec + genre_cards: Map>, // genre -> vec artist_cards: Map>, // artist -> vec year_cards: Map>, // year -> vec rounds: Map, // round_id -> Round @@ -129,6 +129,7 @@ pub mod LyricsFlip { is_started: false, is_completed: false, end_time: 0, //TODO + current_card_index: 0, }; let round_players_count = self.round_players_count.entry(round_id).read(); @@ -197,11 +198,41 @@ pub mod LyricsFlip { } } + // // TODO + // fn add_card(ref self: ContractState, card: Card) {} + + // // TODO + // fn get_card(self: @ContractState, card_id: u64) -> Card {} + + // // TODO + // fn set_cards_per_round(ref self: ContractState, value: u8) {} + + // // TODO + // fn get_cards_per_round(self: @ContractState) -> u8 {} + + // // TODO + // fn next_card(ref self: ContractState, round_id: u64) -> Card { + // self._next_round_card() + // } + + // // TODO + // fn get_cards_of_genre(self: @ContractState, genre: Genre) -> Span {} + + // // TODO + // fn get_cards_of_artist(self: @ContractState, artist: ByteArray) -> Span {} + + // //TODO + // fn get_cards_of_a_year(self: @ContractState, year: u64) -> Span {} + #[generate_trait] impl InternalFunctions of InternalFunctionsTrait { //TODO fn get_random_cards(ref self: ContractState) -> Span { array![1, 2].span() } + // // TODO + // fn _next_round_card(ref self: ContractState, round_id: u64) -> Card { + // // check round is started and is_completed is false + // } } } diff --git a/onchain/src/interfaces/lyricsflip.cairo b/onchain/src/interfaces/lyricsflip.cairo index 11e8d67f..932b338a 100644 --- a/onchain/src/interfaces/lyricsflip.cairo +++ b/onchain/src/interfaces/lyricsflip.cairo @@ -14,4 +14,27 @@ pub trait ILyricsFlip { fn create_round(ref self: TContractState, genre: Option) -> u64; fn start_round(ref self: TContractState, round_id: u64); fn join_round(ref self: TContractState, round_id: u64); + // // TODO +// fn add_card(ref self: TContractState, card: Card); + + // // TODO +// fn get_card(self: @TContractState, card_id: u64) -> Card; + + // // TODO +// fn set_cards_per_round(ref self: TContractState, value: u8); + + // //TODO +// fn get_cards_per_round(self: @TContractState) -> u8; + + // // TODO +// fn next_card(ref self: TContractState, round_id: u64) -> Card; + + // // TODO +// fn get_cards_of_genre(self: @TContractState, genre: Genre) -> Span; + + // // TODO +// fn get_cards_of_artist(self: @TContractState, artist: ByteArray) -> Span; + + // //TODO +// fn get_cards_of_a_year(self: @TContractState, year: u64) -> Span; } diff --git a/onchain/src/utils/types.cairo b/onchain/src/utils/types.cairo index 628d1ac4..a7abfeb4 100644 --- a/onchain/src/utils/types.cairo +++ b/onchain/src/utils/types.cairo @@ -33,4 +33,5 @@ pub struct Round { pub is_started: bool, pub is_completed: bool, pub end_time: u64, + pub current_card_index: u8, }