dash/src/governance
pasta f222f798ab
Merge #6155: fix: avoid voting for the same trigger multiple times
e92aad7cff test: make sure MNs don't vote twice even when they are allowed to (UdjinM6)
3d75390e4e fix: correct conditions for YES voting (UdjinM6)
ec1392c6de chore: make clang-format and linter happy (UdjinM6)
a6320865c4 fix: avoid voting for the same trigger multiple times (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  We just had a sb voting period and I noticed that the network is way too spammy and produces too many votes (10x+ the expected numbers). It turns out that relying on `ProcessVoteAndRelay` on mainnet is not enough because rate-check expires too soon and MNs are able to vote again and again. On testnet it was never an issue because the voting period there is really short.

  ## What was done?
  Check known votes to make sure we never voted earlier.

  ## How Has This Been Tested?
  Run tests, run a MN on mainnet and check logs.

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  PastaPastaPasta:
    utACK e92aad7cff

Tree-SHA512: 142e23d3a19fa9527fa5257eb790e558d3507a7a857f17c6e02fd58eeb5643fcfb48d824d227e0ea7cd3dae6a6d7d871b3af88b13077f5af074ed1911e42bb28
2024-09-05 12:49:44 -05:00
..
classes.cpp refactor: drop usage of chainstate globals in governance logic 2024-06-26 11:57:21 +00:00
classes.h refactor: drop usage of chainstate globals in governance logic 2024-06-26 11:57:21 +00:00
common.cpp
common.h
exceptions.cpp
exceptions.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
governance.cpp Merge #6155: fix: avoid voting for the same trigger multiple times 2024-09-05 12:49:44 -05:00
governance.h fmt: apply formatting suggestions from clang-format-diff.py 2024-09-04 16:29:30 +00:00
object.cpp fmt: run clang-format 2024-08-12 13:54:05 +07:00
object.h refactor: initialize variables in the header instead 2024-08-11 15:31:16 +07:00
validators.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
validators.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
vote.cpp feat: implement governance RPCs votealias and votemany for descriptor wallets 2024-07-05 15:37:29 +07:00
vote.h refactor: new method to generate a signing message in CGovernanceVote 2024-07-05 01:35:34 +07:00
votedb.cpp refactor: move GetListAtChainTip() calls out of CGovernanceVote 2024-03-19 15:20:59 +00:00
votedb.h refactor: move GetListAtChainTip() calls out of CGovernanceVote 2024-03-19 15:20:59 +00:00