Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Conversation

@gavofyork
Copy link
Member

@gavofyork gavofyork commented Mar 18, 2020

Closes #5248

  • Lazy locking and progressive tallying:
    • Avoids large calculation/i/o access at the end of a vote.
    • Avoids unbounded storage.
  • Repots various bits of code.
  • Makes vote delegation efficient and safe.
  • Introduces proxy delegating.
  • Introduces non-locked split voting, good for when parachains want to vote.
  • Introduces instant-scheduling, allowing a safe-guarded way for a proposal to make it through almost immediately.

TODO:

  • Update tests
  • Tests for new functionality
    • locking/unlocking/consolidation & moving between voting/delegating
    • proxy delegation & proxy unvoting
    • vote-reaping (third-party)
    • split-voting
    • instant scheduling
    • delegation/undelegation
    • over-voting should fail
  • Update runtimes
  • Rejig turnouts
    • Delegated capital should count
    • Should use full capital even when there's no conviction

CC @jacogr @shawntabrizi

@gavofyork gavofyork added the A3-in_progress Pull request is in progress. No review needed at this stage. label Mar 18, 2020
@gavofyork gavofyork added this to the 2.0 milestone Mar 18, 2020
@gavofyork gavofyork changed the title Progressive Democracy tallying Redesign Democracy pallet Mar 19, 2020
@gavofyork gavofyork added A0-please_review Pull request needs code review. and removed A3-in_progress Pull request is in progress. No review needed at this stage. labels Mar 19, 2020
@gavofyork gavofyork marked this pull request as ready for review March 19, 2020 22:57
Copy link
Member

@shawntabrizi shawntabrizi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@gavofyork gavofyork merged commit 2eb9c26 into master Mar 21, 2020
@gavofyork gavofyork deleted the gav-progressive-democracy branch March 21, 2020 15:08
bkchr pushed a commit that referenced this pull request Mar 24, 2020
* Repot a bit of democracy code

* Basic logic is drafted

* Lazy democracy builds.

* Add non-locked split-voting and instant-scheduling.

* Introduce delegation that works.

* Builds again.

* Indentation

* Building.

* Docs and migration

* Fix half of the tests

* Fix up & repot tests

* Fix runtime build

* Update docs

* Docs

* Nits.

* Turnout counts full capital

* Delegations could towards capital

* proxy delegation & proxy unvoting

* Fix

* Tests for split-voting

* Add missing file

* Persistent locking.
romanb pushed a commit to romanb/substrate that referenced this pull request Apr 2, 2020
* Repot a bit of democracy code

* Basic logic is drafted

* Lazy democracy builds.

* Add non-locked split-voting and instant-scheduling.

* Introduce delegation that works.

* Builds again.

* Indentation

* Building.

* Docs and migration

* Fix half of the tests

* Fix up & repot tests

* Fix runtime build

* Update docs

* Docs

* Nits.

* Turnout counts full capital

* Delegations could towards capital

* proxy delegation & proxy unvoting

* Fix

* Tests for split-voting

* Add missing file

* Persistent locking.
@apopiak apopiak added runtime-migration and removed A0-please_review Pull request needs code review. labels Jun 5, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor Democracy

5 participants