From ae9828c59b42f3e1c2072b1802ff259d8e77be22 Mon Sep 17 00:00:00 2001 From: Ninjatosba Date: Sat, 13 Apr 2024 15:37:28 +0300 Subject: [PATCH 1/2] seperate pick --- artifacts/checksums.txt | 2 +- artifacts/checksums_intermediate.txt | 2 +- artifacts/raffle_drop.wasm | Bin 159231 -> 168804 bytes src/contract.rs | 96 ++++++++++++++++++++------- src/error.rs | 9 +++ src/msg.rs | 2 + src/state.rs | 4 +- 7 files changed, 89 insertions(+), 26 deletions(-) diff --git a/artifacts/checksums.txt b/artifacts/checksums.txt index 6b3185b..922c923 100644 --- a/artifacts/checksums.txt +++ b/artifacts/checksums.txt @@ -1 +1 @@ -12bf66626d6c7972664a19b0c6394cf65de38a831d84c2340a096656316a5859 raffle_drop.wasm +0e07d227b8272b94da7f5e020d401639fe23fd5ffaa1bcb62e365fb61712b8d8 raffle_drop.wasm diff --git a/artifacts/checksums_intermediate.txt b/artifacts/checksums_intermediate.txt index 03e9469..5bd811c 100644 --- a/artifacts/checksums_intermediate.txt +++ b/artifacts/checksums_intermediate.txt @@ -1 +1 @@ -45da052c35dc16f3d2080236dbf00daac2d7c2e8850c897871c3b7d614b52152 /target/wasm32-unknown-unknown/release/raffle_drop.wasm +2809aafd2d63401e1756729b144609a3692fda5be4ed3e020c7f1ae48d638152 /target/wasm32-unknown-unknown/release/raffle_drop.wasm diff --git a/artifacts/raffle_drop.wasm b/artifacts/raffle_drop.wasm index fd6598b06929ba4d875d0cc1e3f9fa087680b26e..785949bcc1f5efca25fb14a4f280d44eb34f1926 100644 GIT binary patch delta 61633 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 delta 52673 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 diff --git a/src/contract.rs b/src/contract.rs index 6506bab..b9cc494 100644 --- a/src/contract.rs +++ b/src/contract.rs @@ -1,6 +1,8 @@ use crate::error::ContractError; use crate::msg::{ExecuteMsg, InstantiateMsg, QueryMsg}; -use crate::state::{ADMIN, NOIS_PROXY, PARTICIPANT_COUNT, TEST_WINNERS, WINNERS}; +use crate::state::{ + ADMIN, FINAL_RANDOMNESS, NOIS_PROXY, PARTICIPANT_COUNT, TEST_RANDOMNESS, TEST_WINNERS, WINNERS, +}; #[cfg(not(feature = "library"))] use cosmwasm_std::entry_point; use cosmwasm_std::{ @@ -49,7 +51,9 @@ pub fn execute( ExecuteMsg::RequestRandomness { job_id } => { execute_request_randomness(deps, env, info, job_id) } - ExecuteMsg::NoisReceive { callback } => execute_pick_winners(deps, env, info, callback), + ExecuteMsg::NoisReceive { callback } => execute_set_randomness(deps, env, info, callback), + ExecuteMsg::PickTestWinners {} => pick_test_winners(deps, env, info), + ExecuteMsg::PickWinners {} => pick_winners(deps, env, info), } } @@ -73,7 +77,7 @@ pub fn execute_request_randomness( Ok(res) } -pub fn execute_pick_winners( +pub fn execute_set_randomness( deps: DepsMut, _env: Env, info: MessageInfo, @@ -86,34 +90,80 @@ pub fn execute_pick_winners( job_id, randomness, .. } = callback; - let randomness: [u8; 32] = randomness - .to_array() - .map_err(|_| ContractError::InvalidRandomness {})?; + if job_id.contains("test") { + TEST_RANDOMNESS.save(deps.storage, &randomness)?; + } else { + if FINAL_RANDOMNESS.may_load(deps.storage)?.is_some() { + return Err(ContractError::FinalRandomnessAlreadySet {}); + } + FINAL_RANDOMNESS.save(deps.storage, &randomness)?; + } + let res = Response::new(); + Ok(res) +} + +pub fn pick_test_winners( + deps: DepsMut, + _env: Env, + _info: MessageInfo, +) -> Result { let participant_count = PARTICIPANT_COUNT.load(deps.storage)?; - let participant_arr = (1..=participant_count).collect::>(); + let participants = (1..=participant_count).collect::>(); + let test_randomness = TEST_RANDOMNESS.load(deps.storage)?; + let test_randomness_vec: [u8; 32] = test_randomness[..].try_into().unwrap(); - let winners = pick(randomness, 100, participant_arr); - let winners_string = winners + if test_randomness.is_empty() { + return Err(ContractError::TestRandomnessNotSet {}); + } + + let winners = pick(test_randomness_vec, 100, participants); + let winners_str = winners .iter() - .map(|&x| x.to_string()) + .map(|x| x.to_string()) .collect::>() - .join(", "); + .join(","); + TEST_WINNERS.save(deps.storage, &winners)?; - match job_id.as_str() { - "test" => { - TEST_WINNERS.save(deps.storage, &winners)?; - } - _ => { - let old_winners = WINNERS.may_load(deps.storage)?; - if old_winners.is_some() { - return Err(ContractError::WinnersAlreadyPicked {}); - } - WINNERS.save(deps.storage, &winners)?; - } + let res = Response::new() + .add_attribute("action", "pick_test_winners") + .add_attribute("test winners", winners_str); + Ok(res) +} + +pub fn pick_winners( + deps: DepsMut, + _env: Env, + info: MessageInfo, +) -> Result { + if info.sender != ADMIN.load(deps.storage)? { + return Err(ContractError::Unauthorized {}); } + if WINNERS.may_load(deps.storage)?.is_some() { + return Err(ContractError::WinnersAlreadyPicked {}); + } + + let participant_count = PARTICIPANT_COUNT.load(deps.storage)?; + let participants = (1..=participant_count).collect::>(); + + let final_randomness = FINAL_RANDOMNESS + .load(deps.storage) + .map_err(|_| ContractError::FinalRandomnessNotSet {})?; + let final_randomness_vec: [u8; 32] = final_randomness[..].try_into().unwrap(); + + let winners = pick(final_randomness_vec, 100, participants); + let winners_str = winners + .iter() + .map(|x| x.to_string()) + .collect::>() + .join(","); + + WINNERS.save(deps.storage, &winners)?; + + let res = Response::new() + .add_attribute("action", "pick_winners") + .add_attribute("winners", winners_str); - let res = Response::new().add_attribute("winners", winners_string); Ok(res) } diff --git a/src/error.rs b/src/error.rs index 4317089..c401a97 100644 --- a/src/error.rs +++ b/src/error.rs @@ -20,4 +20,13 @@ pub enum ContractError { #[error("Winners already picked")] WinnersAlreadyPicked {}, + + #[error("Test randomness not set")] + TestRandomnessNotSet {}, + + #[error("Final randomness not set")] + FinalRandomnessNotSet {}, + + #[error("Final randomness already set")] + FinalRandomnessAlreadySet {}, } diff --git a/src/msg.rs b/src/msg.rs index ad8b803..caf78e2 100644 --- a/src/msg.rs +++ b/src/msg.rs @@ -11,6 +11,8 @@ pub struct InstantiateMsg { pub enum ExecuteMsg { RequestRandomness { job_id: String }, NoisReceive { callback: NoisCallback }, + PickTestWinners {}, + PickWinners {}, } #[cw_serde] diff --git a/src/state.rs b/src/state.rs index ef3a548..606b937 100644 --- a/src/state.rs +++ b/src/state.rs @@ -1,4 +1,4 @@ -use cosmwasm_std::Addr; +use cosmwasm_std::{Addr, HexBinary}; use cw_storage_plus::Item; pub const PARTICIPANT_COUNT: Item = Item::new("participant_count"); @@ -6,3 +6,5 @@ pub const NOIS_PROXY: Item = Item::new("nois_proxy"); pub const ADMIN: Item = Item::new("admin"); pub const WINNERS: Item> = Item::new("winners"); pub const TEST_WINNERS: Item> = Item::new("test_winners"); +pub const TEST_RANDOMNESS: Item = Item::new("test_randomness"); +pub const FINAL_RANDOMNESS: Item = Item::new("final_randomness"); From 8b1555b1af8beffc39abd9bce0bb2b39881cd777 Mon Sep 17 00:00:00 2001 From: Ninjatosba Date: Sun, 14 Apr 2024 13:43:15 +0300 Subject: [PATCH 2/2] readme --- README.md | 4 +++- artifacts/checksums.txt | 2 +- artifacts/checksums_intermediate.txt | 2 +- artifacts/raffle_drop.wasm | Bin 168804 -> 171288 bytes src/contract.rs | 29 ++++++++++++++++++--------- src/msg.rs | 2 +- 6 files changed, 25 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index b31de60..3c52803 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,9 @@ The contract is deployed on the Juno Network and integrates with the Nois protoc - **Instantiation**: Sets up the contract with the Nois proxy address and participant count. - **Execution**: - **Request Randomness**: Initiates a randomness request to the Nois protocol, requiring a unique job ID and necessary funds. - - **Pick Winners (Nois Receive)**: Receives randomness from Nois, selects 100 winners, and handles different outcomes based on the job ID context ("test" or regular). + - **Nois Receive**: Receives randomness from Nois, then saves the randomness based on the job ID. If the job id constains the word "test", the contract will save the randomness as a test value. Otherwise, it will save the randomness as the final value. Test value can be reseted if another request is made. But the final value can only be set once. + - **Pick Test Winners**: Selects test winners based on the test randomness value. + - **Pick Winners**: Selects winners based on the final randomness value. - **Queries**: Provides smart queries for accessing participant count, list of winners, admin details, etc. # **Setup and Configuration** diff --git a/artifacts/checksums.txt b/artifacts/checksums.txt index 922c923..b19915e 100644 --- a/artifacts/checksums.txt +++ b/artifacts/checksums.txt @@ -1 +1 @@ -0e07d227b8272b94da7f5e020d401639fe23fd5ffaa1bcb62e365fb61712b8d8 raffle_drop.wasm +a9a6edecd2fc2c37a161d5a28a25c80cf2b577007d4350f92354b2920df476cf raffle_drop.wasm diff --git a/artifacts/checksums_intermediate.txt b/artifacts/checksums_intermediate.txt index 5bd811c..4d5235d 100644 --- a/artifacts/checksums_intermediate.txt +++ b/artifacts/checksums_intermediate.txt @@ -1 +1 @@ -2809aafd2d63401e1756729b144609a3692fda5be4ed3e020c7f1ae48d638152 /target/wasm32-unknown-unknown/release/raffle_drop.wasm +1fd30a662f8a48b58a6a9e6167085550b9fdfedbc06e338f81ec801f7f55c1d4 /target/wasm32-unknown-unknown/release/raffle_drop.wasm diff --git a/artifacts/raffle_drop.wasm b/artifacts/raffle_drop.wasm index 785949bcc1f5efca25fb14a4f280d44eb34f1926..4125ffc83187e3f1c2666cc380071e53f489673a 100644 GIT binary patch delta 60039 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 Z@82s+0~h5X3(fI-1tEGB&m%p9{{y#3wa)+m delta 57180 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 DYQ>N} diff --git a/src/contract.rs b/src/contract.rs index b9cc494..2bf191d 100644 --- a/src/contract.rs +++ b/src/contract.rs @@ -48,9 +48,10 @@ pub fn execute( msg: ExecuteMsg, ) -> Result { match msg { - ExecuteMsg::RequestRandomness { job_id } => { - execute_request_randomness(deps, env, info, job_id) - } + ExecuteMsg::RequestRandomness { + job_id, + delay_in_mins, + } => execute_request_randomness(deps, env, info, job_id, delay_in_mins), ExecuteMsg::NoisReceive { callback } => execute_set_randomness(deps, env, info, callback), ExecuteMsg::PickTestWinners {} => pick_test_winners(deps, env, info), ExecuteMsg::PickWinners {} => pick_winners(deps, env, info), @@ -59,21 +60,29 @@ pub fn execute( pub fn execute_request_randomness( deps: DepsMut, - _env: Env, + env: Env, info: MessageInfo, job_id: String, + delay_in_mins: u64, ) -> Result { let nois_proxy = NOIS_PROXY.load(deps.storage)?; if info.sender != ADMIN.load(deps.storage)? { return Err(ContractError::Unauthorized {}); } - - let res = Response::new().add_message(WasmMsg::Execute { - contract_addr: nois_proxy.into(), - msg: to_json_binary(&ProxyExecuteMsg::GetNextRandomness { job_id })?, - funds: info.funds.clone(), - }); + let now = env.block.time; + let res = Response::new() + .add_message(WasmMsg::Execute { + contract_addr: nois_proxy.into(), + msg: to_json_binary(&ProxyExecuteMsg::GetRandomnessAfter { + after: now.plus_minutes(delay_in_mins), + job_id: job_id.clone(), + })?, + funds: info.funds.clone(), + }) + .add_attribute("action", "request_randomness") + .add_attribute("job_id", job_id) + .add_attribute("after", now.plus_minutes(delay_in_mins).to_string()); Ok(res) } diff --git a/src/msg.rs b/src/msg.rs index caf78e2..e514c0a 100644 --- a/src/msg.rs +++ b/src/msg.rs @@ -9,7 +9,7 @@ pub struct InstantiateMsg { #[cw_serde] pub enum ExecuteMsg { - RequestRandomness { job_id: String }, + RequestRandomness { job_id: String, delay_in_mins: u64 }, NoisReceive { callback: NoisCallback }, PickTestWinners {}, PickWinners {},