Skip to content

Commit

Permalink
feat: voting time one week
Browse files Browse the repository at this point in the history
  • Loading branch information
DaveVodrazka committed Dec 11, 2023
1 parent 7b0cc27 commit d50f593
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 15 deletions.
1 change: 1 addition & 0 deletions src/constants.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ const OPTION_CALL: felt252 = 0;
const OPTION_PUT: felt252 = 1;
const TRADE_SIDE_LONG: felt252 = 0;
const TRADE_SIDE_SHORT: felt252 = 1;
const ONE_WEEK_SECONDS: u64 = 604800;
2 changes: 1 addition & 1 deletion src/contract.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ mod Governance {
#[storage]
struct Storage {
proposal_details: LegacyMap::<felt252, PropDetails>,
proposal_vote_ends: LegacyMap::<felt252, BlockNumber>,
proposal_vote_ends: LegacyMap::<felt252, u64>,
proposal_voted_by: LegacyMap::<(felt252, ContractAddress), VoteStatus>,
proposal_total_yay: LegacyMap::<felt252, felt252>,
proposal_total_nay: LegacyMap::<felt252, felt252>,
Expand Down
24 changes: 10 additions & 14 deletions src/proposals.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,12 @@ mod Proposals {

fn assert_voting_in_progress(prop_id: felt252) {
let state = Governance::unsafe_new_contract_state();
let end_block_number_felt: felt252 = state.proposal_vote_ends.read(prop_id);
let end_block_number: u64 = end_block_number_felt.try_into().unwrap();
assert(end_block_number != 0, 'prop_id not found');
let end_timestamp: u64 = state.proposal_vote_ends.read(prop_id);
assert(end_timestamp != 0, 'prop_id not found');

let current_block_number: u64 = get_block_info().unbox().block_number;
let current_timestamp: u64 = get_block_info().unbox().block_timestamp;

assert(end_block_number > current_block_number, 'voting concluded');
assert(end_timestamp > current_timestamp, 'voting concluded');
}

fn as_u256(high: u128, low: u128) -> u256 {
Expand Down Expand Up @@ -106,11 +105,9 @@ mod Proposals {
let prop_details = PropDetails { payload: payload, to_upgrade: to_upgrade };
state.proposal_details.write(prop_id, prop_details);

let current_block_number: u64 = get_block_info().unbox().block_number;
let end_block_number: BlockNumber = (current_block_number
+ constants::PROPOSAL_VOTING_TIME_BLOCKS)
.into();
state.proposal_vote_ends.write(prop_id, end_block_number);
let current_timestamp: u64 = get_block_info().unbox().block_timestamp;
let end_timestamp: u64 = current_timestamp + constants::ONE_WEEK_SECONDS;
state.proposal_vote_ends.write(prop_id, end_timestamp);

state.emit(Governance::Proposed { prop_id, payload, to_upgrade });
prop_id
Expand Down Expand Up @@ -303,11 +300,10 @@ mod Proposals {
fn get_proposal_status(prop_id: felt252) -> felt252 {
let state = Governance::unsafe_new_contract_state();

let end_block_number_felt: felt252 = state.proposal_vote_ends.read(prop_id);
let end_block_number: u64 = end_block_number_felt.try_into().unwrap();
let current_block_number: u64 = get_block_info().unbox().block_number;
let end_timestamp: u64 = state.proposal_vote_ends.read(prop_id);
let current_timestamp: u64 = get_block_info().unbox().block_timestamp;

if current_block_number <= end_block_number {
if current_timestamp <= end_timestamp {
return check_proposal_passed_express(prop_id).into();
}

Expand Down

0 comments on commit d50f593

Please sign in to comment.