diff --git a/contracts/governance/DegenDAOInterfaces.sol b/contracts/governance/DegenDAOInterfaces.sol index 4bbc693..0602af4 100644 --- a/contracts/governance/DegenDAOInterfaces.sol +++ b/contracts/governance/DegenDAOInterfaces.sol @@ -145,6 +145,7 @@ contract DegenDAOStorageV1 is DegenDAOProxyStorage { struct Proposal { uint256 id; address proposer; + uint256 creationBlock; uint256 proposalThreshold; uint256 quorumVotes; uint256 eta; diff --git a/contracts/governance/DegenDAOLogicV1.sol b/contracts/governance/DegenDAOLogicV1.sol index 05e9538..60a95dd 100644 --- a/contracts/governance/DegenDAOLogicV1.sol +++ b/contracts/governance/DegenDAOLogicV1.sol @@ -208,6 +208,7 @@ contract DegenDAOLogicV1 is DegenDAOStorageV1, DegenDAOEvents { newProposal.id = proposalCount; newProposal.proposer = msg.sender; + newProposal.creationBlock = block.number; newProposal.proposalThreshold = temp.proposalThreshold; newProposal.quorumVotes = bps2Uint(quorumVotesBPS, temp.totalSupply); newProposal.eta = 0; @@ -494,7 +495,7 @@ contract DegenDAOLogicV1 is DegenDAOStorageV1, DegenDAOEvents { Receipt storage receipt = proposal.receipts[voter]; require(receipt.hasVoted == false, 'DegenDAO::castVoteInternal: voter already voted'); - uint96 votes = dogs.getPriorVotes(voter, proposal.startBlock - votingDelay); + uint96 votes = dogs.getPriorVotes(voter, proposal.creationBlock); if (support == 0) { proposal.againstVotes = proposal.againstVotes + votes;