Skip to content

Commit

Permalink
feat(x/gov): emit depositor in proposal_deposit event (#19853)
Browse files Browse the repository at this point in the history
(cherry picked from commit d1c3547)

# Conflicts:
#	x/gov/CHANGELOG.md
#	x/gov/keeper/deposit.go
#	x/gov/keeper/proposal.go
#	x/gov/types/events.go
  • Loading branch information
kienn6034 authored and mergify[bot] committed Mar 25, 2024
1 parent a0faab3 commit 255a456
Show file tree
Hide file tree
Showing 4 changed files with 120 additions and 0 deletions.
76 changes: 76 additions & 0 deletions x/gov/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<!--
Guiding Principles:
Changelogs are for humans, not machines.
There should be an entry for every single version.
The same types of changes should be grouped.
Versions and sections should be linkable.
The latest version comes first.
The release date of each version is displayed.
Mention whether you follow Semantic Versioning.
Usage:
Change log entries are to be added to the Unreleased section under the
appropriate stanza (see below). Each entry should ideally include a tag and
the Github issue reference in the following format:
* (<tag>) [#<issue-number>] Changelog message.
Types of changes (Stanzas):
"Features" for new features.
"Improvements" for changes in existing functionality.
"Deprecated" for soon-to-be removed features.
"Bug Fixes" for any bug fixes.
"API Breaking" for breaking exported APIs used by developers building on SDK.
Ref: https://keepachangelog.com/en/1.0.0/
-->

# Changelog

## [Unreleased]

### Features

* [#19592](https://github.com/cosmos/cosmos-sdk/pull/19592) Add custom tally function.
* [#19304](https://github.com/cosmos/cosmos-sdk/pull/19304) Add `MsgSudoExec` for allowing executing any message as a sudo.
* [#19101](https://github.com/cosmos/cosmos-sdk/pull/19101) Add message based params configuration.
* [#18532](https://github.com/cosmos/cosmos-sdk/pull/18532) Add SPAM vote to proposals.
* [#18532](https://github.com/cosmos/cosmos-sdk/pull/18532) Add proposal types to proposals.
* [#18620](https://github.com/cosmos/cosmos-sdk/pull/18620) Add optimistic proposals.
* [#18762](https://github.com/cosmos/cosmos-sdk/pull/18762) Add multiple choice proposals.
* [#19853](https://github.com/cosmos/cosmos-sdk/pull/19853) Emit `depositor` in `EventTypeProposalDeposit` and `proposal_type` in `EventTypeSubmitProposal`

### Improvements

* [#19741](https://github.com/cosmos/cosmos-sdk/pull/19741) Add `ExpeditedQuorum` parameter specifying a minimum quorum for expedited proposals, that can differ from the regular quorum.
* [#19352](https://github.com/cosmos/cosmos-sdk/pull/19352) `TallyResult` include vote options counts. Those counts replicates the now deprecated (but not removed) yes, no, abstain and veto count fields.
* [#18976](https://github.com/cosmos/cosmos-sdk/pull/18976) Log and send an event when a proposal deposit refund or burn has failed.
* [#18856](https://github.com/cosmos/cosmos-sdk/pull/18856) Add `ProposalCancelMaxPeriod` parameter for modifying how long a proposal can be cancelled after it has been submitted.
* [#19167](https://github.com/cosmos/cosmos-sdk/pull/19167) Add `YesQuorum` parameter specifying a minimum of yes vote in the total proposal voting power for the proposal to pass.
* [#18445](https://github.com/cosmos/cosmos-sdk/pull/18445) Extend gov config.
* [#18532](https://github.com/cosmos/cosmos-sdk/pull/18532) Repurpose `govcliutils.NormalizeProposalType` to work for gov v1 proposal types.

### State Machine Breaking

* [#19101](https://github.com/cosmos/cosmos-sdk/pull/19101) Add message based params configuration.
* [#18532](https://github.com/cosmos/cosmos-sdk/pull/18532) Add SPAM vote to proposals.
* [#18532](https://github.com/cosmos/cosmos-sdk/pull/18532) Add proposal types to proposals.
* [#18620](https://github.com/cosmos/cosmos-sdk/pull/18620) Add optimistic proposals.
* [#18762](https://github.com/cosmos/cosmos-sdk/pull/18762) Add multiple choice proposals.
* [#18856](https://github.com/cosmos/cosmos-sdk/pull/18856) Add `ProposalCancelMaxPeriod` parameters.
* [#19167](https://github.com/cosmos/cosmos-sdk/pull/19167) Add `YesQuorum` parameter.

### Client Breaking Changes

* [#19101](https://github.com/cosmos/cosmos-sdk/pull/19101) Querying specific params types was deprecated in gov/v1 and has been removed. gov/v1beta1 rest unchanged.

### API Breaking Changes

* [#19481](https://github.com/cosmos/cosmos-sdk/pull/19481) Migrate module to use `appmodule.Environment`; `NewKeeper` now takes `appmodule.Environment` instead of a store service and no `baseapp.MessageRouter` anymore.
* [#19481](https://github.com/cosmos/cosmos-sdk/pull/19481) v1beta1 proposal handlers now take a `context.Context` instead of an `sdk.Context`.
* [#19592](https://github.com/cosmos/cosmos-sdk/pull/19592) `types.Config` and `types.DefaultConfig` have been moved to the keeper package in order to support the custom tallying function.
* [#19349](https://github.com/cosmos/cosmos-sdk/pull/19349) Simplify state management in `x/gov`. Note `k.VotingPeriodProposals` and `k.SetProposal` are no longer needed and have been removed.
* [#18532](https://github.com/cosmos/cosmos-sdk/pull/18532) All functions that were taking an expedited bool parameter now take a `ProposalType` parameter instead.
* [#17496](https://github.com/cosmos/cosmos-sdk/pull/17496) in `x/gov/types/v1beta1/vote.go` `NewVote` was removed, constructing the struct is required for this type.
* [#19101](https://github.com/cosmos/cosmos-sdk/pull/19101) Move `QueryProposalVotesParams` and `QueryVoteParams` from the `types/v1` package to `utils` and remove unused `querier.go` file.
* [#19740](https://github.com/cosmos/cosmos-sdk/pull/19740) Verify `InitGenesis` and `ExportGenesis` module code and keeper code do not panic.

### Deprecated

* [#18532](https://github.com/cosmos/cosmos-sdk/pull/18532) The field `v1.Proposal.Expedited` is deprecated and will be removed in the next release.
11 changes: 11 additions & 0 deletions x/gov/keeper/deposit.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ func (keeper Keeper) AddDeposit(ctx context.Context, proposalID uint64, deposito
return false, err
}

<<<<<<< HEAD

Check failure on line 167 in x/gov/keeper/deposit.go

View workflow job for this annotation

GitHub Actions / dependency-review

expected statement, found '<<'
sdkCtx := sdk.UnwrapSDKContext(ctx)
sdkCtx.EventManager().EmitEvent(
sdk.NewEvent(
Expand All @@ -172,6 +173,16 @@ func (keeper Keeper) AddDeposit(ctx context.Context, proposalID uint64, deposito
sdk.NewAttribute(types.AttributeKeyProposalID, fmt.Sprintf("%d", proposalID)),
),
)
=======
if err := k.environment.EventService.EventManager(ctx).EmitKV(
types.EventTypeProposalDeposit,
event.NewAttribute(types.AttributeKeyDepositor, depositorAddr.String()),
event.NewAttribute(sdk.AttributeKeyAmount, depositAmount.String()),
event.NewAttribute(types.AttributeKeyProposalID, fmt.Sprintf("%d", proposalID)),
); err != nil {
return false, err
}
>>>>>>> d1c3547d8 (feat(x/gov): emit depositor in `proposal_deposit` event (#19853))

Check failure on line 185 in x/gov/keeper/deposit.go

View workflow job for this annotation

GitHub Actions / dependency-review

expected statement, found '>>'

err = keeper.SetDeposit(ctx, deposit)
if err != nil {
Expand Down
12 changes: 12 additions & 0 deletions x/gov/keeper/proposal.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ func (keeper Keeper) SubmitProposal(ctx context.Context, messages []sdk.Msg, met
return v1.Proposal{}, err
}

<<<<<<< HEAD
sdkCtx.EventManager().EmitEvent(
sdk.NewEvent(
types.EventTypeSubmitProposal,
Expand All @@ -127,6 +128,17 @@ func (keeper Keeper) SubmitProposal(ctx context.Context, messages []sdk.Msg, met
sdk.NewAttribute(types.AttributeKeyProposalMessages, msgsStr),
),
)
=======
if err := k.environment.EventService.EventManager(ctx).EmitKV(
types.EventTypeSubmitProposal,
event.NewAttribute(types.AttributeKeyProposalType, proposalType.String()),
event.NewAttribute(types.AttributeKeyProposalID, fmt.Sprintf("%d", proposalID)),
event.NewAttribute(types.AttributeKeyProposalProposer, proposer.String()),
event.NewAttribute(types.AttributeKeyProposalMessages, strings.Join(msgs, ",")),
); err != nil {
return v1.Proposal{}, fmt.Errorf("failed to emit event: %w", err)
}
>>>>>>> d1c3547d8 (feat(x/gov): emit depositor in `proposal_deposit` event (#19853))

return proposal, nil
}
Expand Down
21 changes: 21 additions & 0 deletions x/gov/types/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const (
EventTypeActiveProposal = "active_proposal"
EventTypeCancelProposal = "cancel_proposal"

<<<<<<< HEAD

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / dependency-review

expected 'IDENT', found '<<'

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / dependency-review

expected ';', found '<<'

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (02)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

syntax error: unexpected <<, expected name

Check failure on line 12 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

syntax error: unexpected <<, expected name
AttributeKeyProposalResult = "proposal_result"
AttributeKeyVoter = "voter"
AttributeKeyOption = "option"
Expand All @@ -23,6 +24,26 @@ const (
AttributeValueProposalFailed = "proposal_failed" // error on proposal handler
AttributeValueProposalCanceled = "proposal_canceled" // error on proposal handler
AttributeKeyProposalProposer = "proposal_proposer" // account address of the proposer
=======
AttributeKeyProposalResult = "proposal_result"
AttributeKeyVoter = "voter"
AttributeKeyOption = "option"
AttributeKeyProposalID = "proposal_id"
AttributeKeyDepositor = "depositor"
AttributeKeyProposalMessages = "proposal_messages" // Msg type_urls in the proposal
AttributeKeyVotingPeriodStart = "voting_period_start"
AttributeKeyProposalLog = "proposal_log" // log of proposal execution
AttributeKeyProposalDepositError = "proposal_deposit_error" // error on proposal deposit refund/burn
AttributeKeyProposalProposer = "proposal_proposer" // account address of the proposer

AttributeValueProposalDropped = "proposal_dropped" // didn't meet min deposit
AttributeValueProposalPassed = "proposal_passed" // met vote quorum
AttributeValueProposalRejected = "proposal_rejected" // didn't meet vote quorum
AttributeValueExpeditedProposalRejected = "expedited_proposal_rejected" // didn't meet expedited vote quorum
AttributeValueOptimisticProposalRejected = "optimistic_proposal_rejected" // didn't meet optimistic vote quorum
AttributeValueProposalFailed = "proposal_failed" // error on proposal handler
AttributeValueProposalCanceled = "proposal_canceled" // error on proposal handler
>>>>>>> d1c3547d8 (feat(x/gov): emit depositor in `proposal_deposit` event (#19853))

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / dependency-review

illegal character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (02)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (02)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (03)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (01)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

invalid character U+0023 '#'

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

syntax error: unexpected : after top level declaration

Check failure on line 46 in x/gov/types/events.go

View workflow job for this annotation

GitHub Actions / tests (00)

invalid character U+0023 '#'

AttributeKeyProposalType = "proposal_type"
AttributeSignalTitle = "signal_title"
Expand Down

0 comments on commit 255a456

Please sign in to comment.