Skip to content

Commit

Permalink
do not slash deposit if proposal fails to meet quorum (#28)
Browse files Browse the repository at this point in the history
  • Loading branch information
larry0x authored Nov 29, 2022
1 parent c9b7485 commit ffceba3
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions x/gov/keeper/tally.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,11 @@ func (k Keeper) Tally(ctx sdk.Context, proposal govtypes.Proposal) (passes bool,

// if there is not enough quorum of votes, the proposal fails, and deposit burned
//
// NOTE: This piece of code is copied from cosmos-sdk's gov module without change.
// Here, the deposited tokens are burned if the poll fails to reach quorum. I personally do not
// agree with this design (why should the proposer be penalized if the voters don't vote?) but
// we keep this unchanged for now anyways.
// NOTE: different from the default behavior from cosmos-sdk, we don't slash the proposer's
// deposit if the poll fails to meet quorum. the only way the deposit can be slashed is if the
// poll is vetoed.
if totalTokensVoted.Quo(totalTokens).LT(tallyParams.Quorum) {
return false, true, tallyResults
return false, false, tallyResults
}

// if everyone abstains, proposal fails
Expand Down

0 comments on commit ffceba3

Please sign in to comment.