Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(x/gov): emit depositor in proposal_deposit event (backport #19853) #19859

Merged
merged 2 commits into from
Mar 25, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@
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 @@
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 @@
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,8 +24,28 @@
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"
AttributeSignalDescription = "signal_description"
)

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

View workflow job for this annotation

GitHub Actions / dependency-review

expected ')', found 'EOF'

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

View workflow job for this annotation

GitHub Actions / dependency-review

expected ';', found 'EOF'
Loading