Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
julienrbrt committed Dec 6, 2023
1 parent 96cb2d9 commit 2d105ee
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 27 deletions.
11 changes: 6 additions & 5 deletions x/gov/abci.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func EndBlocker(ctx sdk.Context, keeper *keeper.Keeper) error {
logger.Info(
"proposal did not meet minimum deposit; deleted",
"proposal", proposal.Id,
"expedited", proposal.Expedited,
"proposal_type", proposal.ProposalType,
"title", proposal.Title,
"min_deposit", sdk.NewCoins(proposal.GetMinDepositFromParams(params)...).String(),
"total_deposit", sdk.NewCoins(proposal.TotalDeposit...).String(),
Expand Down Expand Up @@ -131,7 +131,7 @@ func EndBlocker(ctx sdk.Context, keeper *keeper.Keeper) error {
// the deposit at this point since the proposal is converted to regular.
// As a result, the deposits are either deleted or refunded in all cases
// EXCEPT when an expedited proposal fails.
if passes || !proposal.Expedited {
if passes || !(proposal.ProposalType == v1.ProposalType_PROPOSAL_TYPE_EXPEDITED) {
if burnDeposits {
err = keeper.DeleteAndBurnDeposits(ctx, proposal.Id)
} else {
Expand Down Expand Up @@ -204,7 +204,8 @@ func EndBlocker(ctx sdk.Context, keeper *keeper.Keeper) error {
// to a regular proposal. As a result, the voting period is extended, and,
// once the regular voting period expires again, the tally is repeated
// according to the regular proposal rules.
proposal.Expedited = false
proposal.ProposalType = v1.ProposalType_PROPOSAL_TYPE_STANDARD
proposal.Expedited = false // can be removed as never read but kept for state coherence
params, err := keeper.Params.Get(ctx)
if err != nil {
return false, err
Expand Down Expand Up @@ -246,7 +247,7 @@ func EndBlocker(ctx sdk.Context, keeper *keeper.Keeper) error {
"proposal tallied",
"proposal", proposal.Id,
"status", proposal.Status.String(),
"expedited", proposal.Expedited,
"proposal_type", proposal.ProposalType,
"title", proposal.Title,
"results", logMsg,
)
Expand Down Expand Up @@ -317,7 +318,7 @@ func failUnsupportedProposal(
logger.Info(
"proposal failed to decode; deleted",
"proposal", proposal.Id,
"expedited", proposal.Expedited,
"proposal_type", proposal.ProposalType,
"title", proposal.Title,
"results", errMsg,
)
Expand Down
4 changes: 2 additions & 2 deletions x/gov/abci_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ func TestTickPassedVotingPeriod(t *testing.T) {
proposal, err = suite.GovKeeper.Proposals.Get(ctx, res.ProposalId)
require.Nil(t, err)
require.Equal(t, v1.StatusVotingPeriod, proposal.Status)
require.False(t, proposal.Expedited)
require.False(t, proposal.ProposalType == v1.ProposalType_PROPOSAL_TYPE_EXPEDITED)
require.Equal(t, proposal.VotingStartTime.Add(*params.VotingPeriod), *proposal.VotingEndTime)
})
}
Expand Down Expand Up @@ -559,7 +559,7 @@ func TestExpeditedProposal_PassAndConversionToRegular(t *testing.T) {
proposal, err = suite.GovKeeper.Proposals.Get(ctx, res.ProposalId)
require.Nil(t, err)
require.Equal(t, v1.StatusVotingPeriod, proposal.Status)
require.False(t, proposal.Expedited)
require.False(t, proposal.ProposalType == v1.ProposalType_PROPOSAL_TYPE_EXPEDITED)
require.Equal(t, proposal.VotingStartTime.Add(*params.VotingPeriod), *proposal.VotingEndTime)

// We also want to make sure that the deposit is not refunded yet and is still present in the module account
Expand Down
7 changes: 4 additions & 3 deletions x/gov/keeper/deposit.go
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ func (keeper Keeper) RefundAndDeleteDeposits(ctx context.Context, proposalID uin
// validateInitialDeposit validates if initial deposit is greater than or equal to the minimum
// required at the time of proposal submission. This threshold amount is determined by
// the deposit parameters. Returns nil on success, error otherwise.
func (keeper Keeper) validateInitialDeposit(ctx context.Context, params v1.Params, initialDeposit sdk.Coins, expedited bool) error {
func (keeper Keeper) validateInitialDeposit(ctx context.Context, params v1.Params, initialDeposit sdk.Coins, proposalType v1.ProposalType) error {
if !initialDeposit.IsValid() || initialDeposit.IsAnyNegative() {
return errors.Wrap(sdkerrors.ErrInvalidCoins, initialDeposit.String())
}
Expand All @@ -295,9 +295,10 @@ func (keeper Keeper) validateInitialDeposit(ctx context.Context, params v1.Param
}

var minDepositCoins sdk.Coins
if expedited {
switch proposalType {
case v1.ProposalType_PROPOSAL_TYPE_EXPEDITED:
minDepositCoins = params.ExpeditedMinDeposit
} else {
default:
minDepositCoins = params.MinDeposit
}

Expand Down
11 changes: 6 additions & 5 deletions x/gov/keeper/msg_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,18 +76,19 @@ func (k msgServer) SubmitProposal(goCtx context.Context, msg *v1.MsgSubmitPropos
return nil, fmt.Errorf("failed to get governance parameters: %w", err)
}

if err := k.validateInitialDeposit(ctx, params, initialDeposit, msg.Expedited); err != nil {
proposalType := msg.ProposalType
if msg.Expedited { // checking for backward compatibility
proposalType = v1.ProposalType_PROPOSAL_TYPE_EXPEDITED
}

if err := k.validateInitialDeposit(ctx, params, initialDeposit, proposalType); err != nil {
return nil, err
}

if err := k.validateDepositDenom(ctx, params, initialDeposit); err != nil {
return nil, err
}

proposalType := msg.ProposalType
if msg.Expedited { // checking for backward compatibility
proposalType = v1.ProposalType_PROPOSAL_TYPE_EXPEDITED
}
proposal, err := k.Keeper.SubmitProposal(ctx, proposalMsgs, msg.Metadata, msg.Title, msg.Summary, proposer, proposalType)
if err != nil {
return nil, err
Expand Down
10 changes: 0 additions & 10 deletions x/gov/migrations/v3/convert_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,16 +154,6 @@ func TestConvertToLegacyTallyResult(t *testing.T) {
},
expErr: true,
},
"invalid spam count": {
tallyResult: v1.TallyResult{
YesCount: tallyResult.YesCount,
NoCount: tallyResult.NoCount,
AbstainCount: tallyResult.AbstainCount,
NoWithVetoCount: tallyResult.NoWithVetoCount,
SpamCount: "invalid",
},
expErr: true,
},
}
for name, tc := range testCases {
tc := tc
Expand Down
4 changes: 2 additions & 2 deletions x/gov/types/v1/msgs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ func TestMsgSubmitProposal_GetSignBytes(t *testing.T) {
"gov/MsgVote",
"Proposal for a governance vote msg",
v1.ProposalType_PROPOSAL_TYPE_STANDARD,
`{"type":"cosmos-sdk/v1/MsgSubmitProposal","value":{"initial_deposit":[],"messages":[{"type":"cosmos-sdk/v1/MsgVote","value":{"option":1,"proposal_id":"1","voter":"cosmos1w3jhxap3gempvr"}}],"summary":"Proposal for a governance vote msg","title":"gov/MsgVote"}}`,
`{"type":"cosmos-sdk/v1/MsgSubmitProposal","value":{"initial_deposit":[],"messages":[{"type":"cosmos-sdk/v1/MsgVote","value":{"option":1,"proposal_id":"1","voter":"cosmos1w3jhxap3gempvr"}}],"proposal_type":1,"summary":"Proposal for a governance vote msg","title":"gov/MsgVote"}}`,
},
{
"MsgSend",
[]sdk.Msg{banktypes.NewMsgSend(addrs[0], addrs[0], sdk.NewCoins())},
"bank/MsgSend",
"Proposal for a bank msg send",
v1.ProposalType_PROPOSAL_TYPE_STANDARD,
fmt.Sprintf(`{"type":"cosmos-sdk/v1/MsgSubmitProposal","value":{"initial_deposit":[],"messages":[{"type":"cosmos-sdk/MsgSend","value":{"amount":[],"from_address":"%s","to_address":"%s"}}],"summary":"Proposal for a bank msg send","title":"bank/MsgSend"}}`, addrs[0], addrs[0]),
fmt.Sprintf(`{"type":"cosmos-sdk/v1/MsgSubmitProposal","value":{"initial_deposit":[],"messages":[{"type":"cosmos-sdk/MsgSend","value":{"amount":[],"from_address":"%s","to_address":"%s"}}],"proposal_type":1,"summary":"Proposal for a bank msg send","title":"bank/MsgSend"}}`, addrs[0], addrs[0]),
},
}

Expand Down
2 changes: 2 additions & 0 deletions x/gov/types/v1/proposals_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,12 @@ func TestProposalSetExpedited(t *testing.T) {
proposal, err := v1.NewProposal([]sdk.Msg{}, 1, time.Now(), time.Now(), "", "title", "summary", sdk.AccAddress("cosmos1ghekyjucln7y67ntx7cf27m9dpuxxemn4c8g4r"), v1.ProposalType_PROPOSAL_TYPE_STANDARD)
require.NoError(t, err)
require.Equal(t, startExpedited, proposal.Expedited)
require.Equal(t, proposal.ProposalType, v1.ProposalType_PROPOSAL_TYPE_STANDARD)

proposal, err = v1.NewProposal([]sdk.Msg{}, 1, time.Now(), time.Now(), "", "title", "summary", sdk.AccAddress("cosmos1ghekyjucln7y67ntx7cf27m9dpuxxemn4c8g4r"), v1.ProposalType_PROPOSAL_TYPE_EXPEDITED)
require.NoError(t, err)
require.Equal(t, !startExpedited, proposal.Expedited)
require.Equal(t, proposal.ProposalType, v1.ProposalType_PROPOSAL_TYPE_EXPEDITED)
}

func TestProposalGetMinDepositFromParams(t *testing.T) {
Expand Down

0 comments on commit 2d105ee

Please sign in to comment.