From 27f69def9ad206a4925e913274580646c220b2d9 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Thu, 13 Dec 2018 18:58:50 +0100 Subject: [PATCH] Lock-voting (#1254) * Optionally long lock voting * Lock voting. * Fix tests * Comment update * Comments * Minor grumbles * Docs. --- substrate/core/sr-primitives/src/testing.rs | 1 - .../substrate_test_runtime.compact.wasm | Bin 45872 -> 45953 bytes substrate/node/cli/src/chain_spec.rs | 2 + substrate/node/executor/src/lib.rs | 10 +- .../release/node_runtime.compact.wasm | Bin 650823 -> 652259 bytes substrate/srml/council/src/lib.rs | 1 + substrate/srml/council/src/voting.rs | 14 +- substrate/srml/democracy/src/lib.rs | 325 +++++++++++++----- .../srml/democracy/src/vote_threshold.rs | 14 +- 9 files changed, 267 insertions(+), 100 deletions(-) diff --git a/substrate/core/sr-primitives/src/testing.rs b/substrate/core/sr-primitives/src/testing.rs index 31be26d3a9..acbcd9241d 100644 --- a/substrate/core/sr-primitives/src/testing.rs +++ b/substrate/core/sr-primitives/src/testing.rs @@ -114,7 +114,6 @@ impl traits::Extrinsic for ExtrinsicWrapper { } } -#[cfg(feature = "std")] impl serde::Serialize for ExtrinsicWrapper { fn serialize(&self, seq: S) -> Result where S: ::serde::Serializer { diff --git a/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index 9f80da0d3c187177d9100b6c907ce7847563a212..dc2007fe7efaea16e3484b363e230d0782e5f409 100644 GIT binary patch delta 5165 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 IOM80%4^LDxF8}}l diff --git a/substrate/node/cli/src/chain_spec.rs b/substrate/node/cli/src/chain_spec.rs index 3abf1796bd..92653e057c 100644 --- a/substrate/node/cli/src/chain_spec.rs +++ b/substrate/node/cli/src/chain_spec.rs @@ -92,6 +92,7 @@ fn staging_testnet_config_genesis() -> GenesisConfig { voting_period: 5 * MINUTES, // 3 days to discuss & vote on an active referendum minimum_deposit: 50 * DOLLARS, // 12000 as the minimum deposit for a referendum public_delay: 0, + max_lock_periods: 6, }), council_seats: Some(CouncilSeatsConfig { active_council: vec![], @@ -213,6 +214,7 @@ pub fn testnet_genesis( voting_period: 18, minimum_deposit: 10, public_delay: 0, + max_lock_periods: 6, }), council_seats: Some(CouncilSeatsConfig { active_council: endowed_accounts.iter() diff --git a/substrate/node/executor/src/lib.rs b/substrate/node/executor/src/lib.rs index d743303fef..632230133a 100644 --- a/substrate/node/executor/src/lib.rs +++ b/substrate/node/executor/src/lib.rs @@ -311,9 +311,9 @@ mod tests { 1, GENESIS_HASH.into(), if support_changes_trie { - hex!("dd0ab9b04b84b2a0704a6c38968d97a41e693345a9019dae880a80cf8176676c").into() + hex!("1a7758d96d7353732f3054a3dacb18f04f42fc48f6706378d6f7be744c6022f1").into() } else { - hex!("f5d85f3baebdd85aff8acfdeab0c6e00322d8b64b10a277a0231f4ca10dca7ee").into() + hex!("1cf270c8a484df4931af562f7afdc9f44d99ae1bd35fe30fbd2cf3c1be2e933b").into() }, if support_changes_trie { vec![changes_trie_log( @@ -339,7 +339,7 @@ mod tests { construct_block( 2, block1(false).1, - hex!("807f9952d1962fcc62e8ee58fb4a3b5dc0247f314e9920a25354c1a1915e6941").into(), + hex!("a208e27269f8a17e7f7cf9513396d3579066df10a853e030345847ec96593c2e").into(), vec![ // session changes here, so we add a grandpa change signal log. Log::from(::grandpa::RawLog::AuthoritiesChangeSignal(0, vec![ (Keyring::One.to_raw_public().into(), 1), @@ -368,7 +368,7 @@ mod tests { construct_block( 1, GENESIS_HASH.into(), - hex!("5cc895b7c1d5fa824a2b6aefdcf34088156b3762509050bc384853106d48c7e4").into(), + hex!("a506a69fefa4dc1be6838b68dc6e5799bd5fec545ef890cadac20edc0254d37a").into(), vec![], vec![ CheckedExtrinsic { @@ -658,7 +658,7 @@ mod tests { let b = construct_block( 1, GENESIS_HASH.into(), - hex!("06d7654fe2799df26ef3ae932b04d17c163b5a89e6e5bc4ad514acced17bf6c4").into(), + hex!("3af4e1ba0769122b1e92b138fecf7ce8bb2fe4f2a65fba3b423f87942f1ba8c8").into(), vec![], vec![ CheckedExtrinsic { diff --git a/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm b/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm index 5d81e65191682e17cfe0291e07caa5a8f90fa286..364dae5bd0882f483e5e17ada729f12a994803ac 100644 GIT binary patch delta 141518 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 delta 145544 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 { candidacy_bond: 9, diff --git a/substrate/srml/council/src/voting.rs b/substrate/srml/council/src/voting.rs index b8dbfbb71b..9536fe5d35 100644 --- a/substrate/srml/council/src/voting.rs +++ b/substrate/srml/council/src/voting.rs @@ -236,7 +236,7 @@ mod tests { use ::tests::*; use ::tests::{Call, Origin}; use srml_support::Hashable; - use democracy::VoteThreshold; + use democracy::{ReferendumInfo, VoteThreshold}; #[test] fn basic_environment_works() { @@ -272,7 +272,7 @@ mod tests { System::set_block_number(1); let proposal = set_balance_proposal(42); assert_ok!(Democracy::internal_start_referendum(proposal.clone(), VoteThreshold::SuperMajorityApprove, 0), 0); - assert_eq!(Democracy::active_referendums(), vec![(0, 4, proposal, VoteThreshold::SuperMajorityApprove, 0)]); + assert_eq!(Democracy::active_referendums(), vec![(0, ReferendumInfo::new(4, proposal, VoteThreshold::SuperMajorityApprove, 0))]); let cancellation = cancel_referendum_proposal(0); let hash = cancellation.blake2_256().into(); @@ -305,7 +305,7 @@ mod tests { System::set_block_number(2); assert_ok!(CouncilVoting::end_block(System::block_number())); - assert_eq!(Democracy::active_referendums(), vec![(0, 4, proposal, VoteThreshold::SuperMajorityApprove, 0)]); + assert_eq!(Democracy::active_referendums(), vec![(0, ReferendumInfo::new(4, proposal, VoteThreshold::SuperMajorityApprove, 0))]); }); } @@ -324,7 +324,7 @@ mod tests { System::set_block_number(2); assert_ok!(CouncilVoting::end_block(System::block_number())); - assert_eq!(Democracy::active_referendums(), vec![(0, 4, proposal, VoteThreshold::SuperMajorityApprove, 0)]); + assert_eq!(Democracy::active_referendums(), vec![(0, ReferendumInfo::new(4, proposal, VoteThreshold::SuperMajorityApprove, 0))]); }); } @@ -388,7 +388,7 @@ mod tests { System::set_block_number(4); assert_ok!(CouncilVoting::end_block(System::block_number())); assert_eq!(CouncilVoting::proposals().len(), 0); - assert_eq!(Democracy::active_referendums(), vec![(0, 7, set_balance_proposal(42), VoteThreshold::SimpleMajority, 0)]); + assert_eq!(Democracy::active_referendums(), vec![(0, ReferendumInfo::new(7, set_balance_proposal(42), VoteThreshold::SimpleMajority, 0))]); }); } @@ -453,7 +453,7 @@ mod tests { System::set_block_number(2); assert_ok!(CouncilVoting::end_block(System::block_number())); assert_eq!(CouncilVoting::proposals().len(), 0); - assert_eq!(Democracy::active_referendums(), vec![(0, 5, proposal, VoteThreshold::SuperMajorityAgainst, 0)]); + assert_eq!(Democracy::active_referendums(), vec![(0, ReferendumInfo::new(5, proposal, VoteThreshold::SuperMajorityAgainst, 0))]); }); } @@ -471,7 +471,7 @@ mod tests { System::set_block_number(2); assert_ok!(CouncilVoting::end_block(System::block_number())); assert_eq!(CouncilVoting::proposals().len(), 0); - assert_eq!(Democracy::active_referendums(), vec![(0, 5, proposal, VoteThreshold::SimpleMajority, 0)]); + assert_eq!(Democracy::active_referendums(), vec![(0, ReferendumInfo::new(5, proposal, VoteThreshold::SimpleMajority, 0))]); }); } diff --git a/substrate/srml/democracy/src/lib.rs b/substrate/srml/democracy/src/lib.rs index 7f551a71a3..2bf9e21ae7 100644 --- a/substrate/srml/democracy/src/lib.rs +++ b/substrate/srml/democracy/src/lib.rs @@ -49,6 +49,35 @@ pub use vote_threshold::{Approved, VoteThreshold}; pub type PropIndex = u32; /// A referendum index. pub type ReferendumIndex = u32; +/// A number of lock periods. +pub type LockPeriods = i8; + +/// A number of lock periods, plus a vote, one way or the other. +#[derive(Encode, Decode, Copy, Clone, Eq, PartialEq, Default)] +#[cfg_attr(feature = "std", derive(Debug))] +pub struct Vote(i8); + +impl Vote { + /// Create a new instance. + pub fn new(aye: bool, multiplier: LockPeriods) -> Self { + let m = multiplier.max(1) - 1; + Vote(if aye { + -1 - m + } else { + m + }) + } + + /// Is this an aye vote? + pub fn is_aye(self) -> bool { + self.0 < 0 + } + + /// The strength (measured in lock periods). + pub fn multiplier(self) -> LockPeriods { + 1 + if self.0 < 0 { -(self.0 + 1) } else { self.0 } + } +} pub trait Trait: balances::Trait + Sized { type Proposal: Parameter + Dispatchable + IsSubType>; @@ -94,18 +123,19 @@ decl_module! { >::insert(proposal, deposit); } - /// Vote in a referendum. If `approve_proposal` is true, the vote is to enact the proposal; - /// false would be a vote to keep the status quo. - fn vote(origin, ref_index: Compact, approve_proposal: bool) { + /// Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal; + /// otherwise it is a vote to keep the status quo. + fn vote(origin, ref_index: Compact, vote: Vote) { let who = ensure_signed(origin)?; let ref_index = ref_index.into(); + ensure!(vote.multiplier() <= Self::max_lock_periods(), "vote has too great a strength"); ensure!(Self::is_active_referendum(ref_index), "vote given for invalid referendum."); ensure!(!>::total_balance(&who).is_zero(), "transactor must have balance to signal approval."); if !>::exists(&(ref_index, who.clone())) { >::mutate(ref_index, |voters| voters.push(who.clone())); } - >::insert(&(ref_index, who), approve_proposal); + >::insert(&(ref_index, who), vote); } /// Start a referendum. @@ -152,6 +182,13 @@ pub struct ReferendumInfo { delay: BlockNumber, } +impl ReferendumInfo { + /// Create a new instance. + pub fn new(end: BlockNumber, proposal: Proposal, threshold: VoteThreshold, delay: BlockNumber) -> Self { + ReferendumInfo { end, proposal, threshold, delay } + } +} + decl_storage! { trait Store for Module as Democracy { @@ -167,6 +204,8 @@ decl_storage! { pub MinimumDeposit get(minimum_deposit) config(): T::Balance; /// The delay before enactment for all public referenda. pub PublicDelay get(public_delay) config(): T::BlockNumber; + /// The maximum number of additional lock periods a voter may offer to strengthen their vote. Multiples of `PublicDelay`. + pub MaxLockPeriods get(max_lock_periods) config(): LockPeriods; /// How often (in blocks) to check for new votes. pub VotingPeriod get(voting_period) config(): T::BlockNumber = T::BlockNumber::sa(1000); @@ -186,8 +225,10 @@ decl_storage! { /// Get the voters for the current proposal. pub VotersFor get(voters_for): map ReferendumIndex => Vec; - /// Get the vote, if Some, of `who`. - pub VoteOf get(vote_of): map (ReferendumIndex, T::AccountId) => Option; + /// Get the vote in a given referendum of a particular voter. The result is meaningful only if `voters_for` includes the + /// voter when called with the referendum (you'll get the default `Vote` value otherwise). If you don't want to check + /// `voters_for`, then you can also check for simple existence with `VoteOf::exists` first. + pub VoteOf get(vote_of): map (ReferendumIndex, T::AccountId) => Vote; } } @@ -218,30 +259,38 @@ impl Module { } /// Get all referendums currently active. - pub fn active_referendums() -> Vec<(ReferendumIndex, T::BlockNumber, T::Proposal, VoteThreshold, T::BlockNumber)> { + pub fn active_referendums() -> Vec<(ReferendumIndex, ReferendumInfo)> { let next = Self::next_tally(); let last = Self::referendum_count(); (next..last).into_iter() - .filter_map(|i| Self::referendum_info(i).map(|ReferendumInfo{ end, proposal, threshold, delay }| (i, end, proposal, threshold, delay))) + .filter_map(|i| Self::referendum_info(i).map(|info| (i, info))) .collect() } /// Get all referendums ready for tally at block `n`. - pub fn maturing_referendums_at(n: T::BlockNumber) -> Vec<(ReferendumIndex, T::BlockNumber, T::Proposal, VoteThreshold, T::BlockNumber)> { + pub fn maturing_referendums_at(n: T::BlockNumber) -> Vec<(ReferendumIndex, ReferendumInfo)> { let next = Self::next_tally(); let last = Self::referendum_count(); (next..last).into_iter() - .filter_map(|i| Self::referendum_info(i).map(|ReferendumInfo{ end, proposal, threshold, delay }| (i, end, proposal, threshold, delay))) - .take_while(|&(_, block_number, _, _, _)| block_number == n) + .filter_map(|i| Self::referendum_info(i).map(|info| (i, info))) + .take_while(|&(_, ref info)| info.end == n) .collect() } /// Get the voters for the current proposal. - pub fn tally(ref_index: ReferendumIndex) -> (T::Balance, T::Balance) { + pub fn tally(ref_index: ReferendumIndex) -> (T::Balance, T::Balance, T::Balance) { Self::voters_for(ref_index).iter() - .map(|a| (>::total_balance(a), Self::vote_of((ref_index, a.clone())).unwrap_or(false)/*defensive only: all items come from `voters`; for an item to be in `voters` there must be a vote registered; qed*/)) - .map(|(bal, vote)| if vote { (bal, Zero::zero()) } else { (Zero::zero(), bal) }) - .fold((Zero::zero(), Zero::zero()), |(a, b), (c, d)| (a + c, b + d)) + .map(|voter| ( + >::total_balance(voter), + Self::vote_of((ref_index, voter.clone())), + )) + .map(|(bal, vote)| + if vote.is_aye() { + (bal * T::Balance::sa(vote.multiplier() as u64), Zero::zero(), bal) + } else { + (Zero::zero(), bal * T::Balance::sa(vote.multiplier() as u64), bal) + } + ).fold((Zero::zero(), Zero::zero(), Zero::zero()), |(a, b, c), (d, e, f)| (a + d, b + e, c + f)) } // Exposed mutables. @@ -292,51 +341,75 @@ impl Module { Self::deposit_event(RawEvent::Executed(index, ok)); } + fn launch_next(now: T::BlockNumber) -> Result { + let mut public_props = Self::public_props(); + if let Some((winner_index, _)) = public_props.iter() + .enumerate() + .max_by_key(|x| Self::locked_for((x.1).0).unwrap_or_else(Zero::zero)/*defensive only: All current public proposals have an amount locked*/) + { + let (prop_index, proposal, _) = public_props.swap_remove(winner_index); + >::put(public_props); + + if let Some((deposit, depositors)) = >::take(prop_index) {//: (T::Balance, Vec) = + // refund depositors + for d in &depositors { + >::unreserve(d, deposit); + } + Self::deposit_event(RawEvent::Tabled(prop_index, deposit, depositors)); + Self::inject_referendum(now + Self::voting_period(), proposal, VoteThreshold::SuperMajorityApprove, Self::public_delay())?; + } + } + + Ok(()) + } + + fn bake_referendum(now: T::BlockNumber, index: ReferendumIndex, info: ReferendumInfo) -> Result { + let (approve, against, capital) = Self::tally(index); + let total_issuance = >::total_issuance(); + let approved = info.threshold.approved(approve, against, capital, total_issuance); + let lock_period = Self::public_delay(); + + // Logic defined in https://www.slideshare.net/gavofyork/governance-in-polkadot-poc3 + // Essentially, we extend the lock-period of the coins behind the winning votes to be the + // vote strength times the public delay period from now. + for (a, vote) in Self::voters_for(index).into_iter() + .map(|a| (a.clone(), Self::vote_of((index, a)))) + // ^^^ defensive only: all items come from `voters`; for an item to be in `voters` there must be a vote registered; qed + .filter(|&(_, vote)| vote.is_aye() == approved) // Just the winning coins + { + // now plus: the base lock period multiplied by the number of periods this voter offered to + // lock should they win... + let locked_until = now + lock_period * T::BlockNumber::sa((vote.multiplier()) as u64); + // ...extend their bondage until at least then. + >::mutate(a, |b| if *b < locked_until { *b = locked_until }); + } + + Self::clear_referendum(index); + if approved { + Self::deposit_event(RawEvent::Passed(index)); + if info.delay.is_zero() { + Self::enact_proposal(info.proposal, index); + } else { + >::mutate(now + info.delay, |q| q.push(Some((info.proposal, index)))); + } + } else { + Self::deposit_event(RawEvent::NotPassed(index)); + } + >::put(index + 1); + + Ok(()) + } + /// Current era is ending; we should finish up any proposals. fn end_block(now: T::BlockNumber) -> Result { // pick out another public referendum if it's time. if (now % Self::launch_period()).is_zero() { - let mut public_props = Self::public_props(); - if let Some((winner_index, _)) = public_props.iter() - .enumerate() - .max_by_key(|x| Self::locked_for((x.1).0).unwrap_or_else(Zero::zero)/*defensive only: All current public proposals have an amount locked*/) - { - let (prop_index, proposal, _) = public_props.swap_remove(winner_index); - >::put(public_props); - - if let Some((deposit, depositors)) = >::take(prop_index) {//: (T::Balance, Vec) = - // refund depositors - for d in &depositors { - >::unreserve(d, deposit); - } - Self::deposit_event(RawEvent::Tabled(prop_index, deposit, depositors)); - Self::inject_referendum(now + Self::voting_period(), proposal, VoteThreshold::SuperMajorityApprove, Self::public_delay())?; - } - } + Self::launch_next(now.clone())?; } // tally up votes for any expiring referenda. - for (index, _, proposal, threshold, delay) in Self::maturing_referendums_at(now) { - let (approve, against) = Self::tally(index); - let total_issuance = >::total_issuance(); - let approved = threshold.approved(approve, against, total_issuance); - - Self::voters_for(index).into_iter() - .filter(|a| (Self::vote_of((index, a.clone())).unwrap_or(false)/*defensive only: all items come from `voters`; for an item to be in `voters` there must be a vote registered; qed*/ == approved)) - .for_each(|a| >::mutate(a, |b| if *b < now + delay { *b = now + delay })); - - Self::clear_referendum(index); - if approved { - Self::deposit_event(RawEvent::Passed(index)); - if delay.is_zero() { - Self::enact_proposal(proposal, index); - } else { - >::mutate(now + delay, |q| q.push(Some((proposal, index)))); - } - } else { - Self::deposit_event(RawEvent::NotPassed(index)); - } - >::put(index + 1); + for (index, info) in Self::maturing_referendums_at(now).into_iter() { + Self::bake_referendum(now.clone(), index, info)?; } for (proposal, index) in >::take(now).into_iter().filter_map(|x| x) { @@ -371,6 +444,9 @@ mod tests { use primitives::traits::{BlakeTwo256}; use primitives::testing::{Digest, DigestItem, Header}; + const AYE: Vote = Vote(-1); + const NAY: Vote = Vote(0); + impl_outer_origin! { pub enum Origin for Test {} } @@ -410,6 +486,10 @@ mod tests { } fn new_test_ext() -> runtime_io::TestExternalities { + new_test_ext_with_public_delay(0) + } + + fn new_test_ext_with_public_delay(public_delay: u64) -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap().0; t.extend(balances::GenesisConfig::{ balances: vec![(1, 10), (2, 20), (3, 30), (4, 40), (5, 50), (6, 60)], @@ -424,7 +504,8 @@ mod tests { launch_period: 1, voting_period: 1, minimum_deposit: 1, - public_delay: 0, + public_delay, + max_lock_periods: 6, }.build_storage().unwrap().0); runtime_io::TestExternalities::new(t) } @@ -442,6 +523,34 @@ mod tests { assert_eq!(Democracy::referendum_count(), 0); assert_eq!(Balances::free_balance(&42), 0); assert_eq!(Balances::total_issuance(), 210); + assert_eq!(Democracy::public_delay(), 0); + assert_eq!(Democracy::max_lock_periods(), 6); + }); + } + + #[test] + fn vote_should_work() { + assert_eq!(Vote::new(true, 0).multiplier(), 1); + assert_eq!(Vote::new(true, 1).multiplier(), 1); + assert_eq!(Vote::new(true, 2).multiplier(), 2); + assert_eq!(Vote::new(true, 0).is_aye(), true); + assert_eq!(Vote::new(true, 1).is_aye(), true); + assert_eq!(Vote::new(true, 2).is_aye(), true); + assert_eq!(Vote::new(false, 0).multiplier(), 1); + assert_eq!(Vote::new(false, 1).multiplier(), 1); + assert_eq!(Vote::new(false, 2).multiplier(), 2); + assert_eq!(Vote::new(false, 0).is_aye(), false); + assert_eq!(Vote::new(false, 1).is_aye(), false); + assert_eq!(Vote::new(false, 2).is_aye(), false); + } + + #[test] + fn invalid_vote_strength_should_not_work() { + with_externalities(&mut new_test_ext(), || { + System::set_block_number(1); + let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 0).unwrap(); + assert_noop!(Democracy::vote(Origin::signed(1), r.into(), Vote::new(true, 7)), "vote has too great a strength"); + assert_noop!(Democracy::vote(Origin::signed(1), r.into(), Vote::new(false, 7)), "vote has too great a strength"); }); } @@ -475,12 +584,12 @@ mod tests { System::set_block_number(2); let r = 0; - assert_ok!(Democracy::vote(Origin::signed(1), r.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(1), r.into(), AYE)); assert_eq!(Democracy::referendum_count(), 1); assert_eq!(Democracy::voters_for(r), vec![1]); - assert_eq!(Democracy::vote_of((r, 1)), Some(true)); - assert_eq!(Democracy::tally(r), (10, 0)); + assert_eq!(Democracy::vote_of((r, 1)), AYE); + assert_eq!(Democracy::tally(r), (10, 0, 10)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); @@ -554,17 +663,17 @@ mod tests { assert_eq!(Democracy::end_block(System::block_number()), Ok(())); System::set_block_number(1); - assert_ok!(Democracy::vote(Origin::signed(1), 0.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(1), 0.into(), AYE)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); assert_eq!(Balances::free_balance(&42), 4); System::set_block_number(2); - assert_ok!(Democracy::vote(Origin::signed(1), 1.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(1), 1.into(), AYE)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); assert_eq!(Balances::free_balance(&42), 3); System::set_block_number(3); - assert_ok!(Democracy::vote(Origin::signed(1), 2.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(1), 2.into(), AYE)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); }); } @@ -574,11 +683,11 @@ mod tests { with_externalities(&mut new_test_ext(), || { System::set_block_number(1); let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 0).unwrap(); - assert_ok!(Democracy::vote(Origin::signed(1), r.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(1), r.into(), AYE)); assert_eq!(Democracy::voters_for(r), vec![1]); - assert_eq!(Democracy::vote_of((r, 1)), Some(true)); - assert_eq!(Democracy::tally(r), (10, 0)); + assert_eq!(Democracy::vote_of((r, 1)), AYE); + assert_eq!(Democracy::tally(r), (10, 0, 10)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); @@ -591,7 +700,7 @@ mod tests { with_externalities(&mut new_test_ext(), || { System::set_block_number(1); let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 0).unwrap(); - assert_ok!(Democracy::vote(Origin::signed(1), r.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(1), r.into(), AYE)); assert_ok!(Democracy::cancel_referendum(r.into())); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); @@ -605,11 +714,11 @@ mod tests { with_externalities(&mut new_test_ext(), || { System::set_block_number(1); let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 0).unwrap(); - assert_ok!(Democracy::vote(Origin::signed(1), r.into(), false)); + assert_ok!(Democracy::vote(Origin::signed(1), r.into(), NAY)); assert_eq!(Democracy::voters_for(r), vec![1]); - assert_eq!(Democracy::vote_of((r, 1)), Some(false)); - assert_eq!(Democracy::tally(r), (0, 10)); + assert_eq!(Democracy::vote_of((r, 1)), NAY); + assert_eq!(Democracy::tally(r), (0, 10, 10)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); @@ -622,14 +731,14 @@ mod tests { with_externalities(&mut new_test_ext(), || { System::set_block_number(1); let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 0).unwrap(); - assert_ok!(Democracy::vote(Origin::signed(1), r.into(), true)); - assert_ok!(Democracy::vote(Origin::signed(2), r.into(), false)); - assert_ok!(Democracy::vote(Origin::signed(3), r.into(), false)); - assert_ok!(Democracy::vote(Origin::signed(4), r.into(), true)); - assert_ok!(Democracy::vote(Origin::signed(5), r.into(), false)); - assert_ok!(Democracy::vote(Origin::signed(6), r.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(1), r.into(), AYE)); + assert_ok!(Democracy::vote(Origin::signed(2), r.into(), NAY)); + assert_ok!(Democracy::vote(Origin::signed(3), r.into(), NAY)); + assert_ok!(Democracy::vote(Origin::signed(4), r.into(), AYE)); + assert_ok!(Democracy::vote(Origin::signed(5), r.into(), NAY)); + assert_ok!(Democracy::vote(Origin::signed(6), r.into(), AYE)); - assert_eq!(Democracy::tally(r), (110, 100)); + assert_eq!(Democracy::tally(r), (110, 100, 210)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); @@ -637,15 +746,69 @@ mod tests { }); } + #[test] + fn delayed_enactment_should_work() { + with_externalities(&mut new_test_ext(), || { + System::set_block_number(1); + let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 1).unwrap(); + assert_ok!(Democracy::vote(Origin::signed(1), r.into(), AYE)); + assert_ok!(Democracy::vote(Origin::signed(2), r.into(), AYE)); + assert_ok!(Democracy::vote(Origin::signed(3), r.into(), AYE)); + assert_ok!(Democracy::vote(Origin::signed(4), r.into(), AYE)); + assert_ok!(Democracy::vote(Origin::signed(5), r.into(), AYE)); + assert_ok!(Democracy::vote(Origin::signed(6), r.into(), AYE)); + + assert_eq!(Democracy::tally(r), (210, 0, 210)); + + assert_eq!(Democracy::end_block(System::block_number()), Ok(())); + assert_eq!(Balances::free_balance(&42), 0); + + System::set_block_number(2); + assert_eq!(Democracy::end_block(System::block_number()), Ok(())); + + assert_eq!(Balances::free_balance(&42), 2); + }); + } + + #[test] + fn lock_voting_should_work() { + with_externalities(&mut new_test_ext_with_public_delay(1), || { + System::set_block_number(1); + let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 0).unwrap(); + assert_ok!(Democracy::vote(Origin::signed(1), r.into(), Vote::new(false, 6))); + assert_ok!(Democracy::vote(Origin::signed(2), r.into(), Vote::new(true, 5))); + assert_ok!(Democracy::vote(Origin::signed(3), r.into(), Vote::new(true, 4))); + assert_ok!(Democracy::vote(Origin::signed(4), r.into(), Vote::new(true, 3))); + assert_ok!(Democracy::vote(Origin::signed(5), r.into(), Vote::new(true, 2))); + assert_ok!(Democracy::vote(Origin::signed(6), r.into(), Vote::new(false, 1))); + + assert_eq!(Democracy::tally(r), (440, 120, 210)); + + assert_eq!(Democracy::end_block(System::block_number()), Ok(())); + + assert_eq!(Democracy::bondage(1), 0); + assert_eq!(Democracy::bondage(2), 6); + assert_eq!(Democracy::bondage(3), 5); + assert_eq!(Democracy::bondage(4), 4); + assert_eq!(Democracy::bondage(5), 3); + assert_eq!(Democracy::bondage(6), 0); + + System::set_block_number(2); + assert_eq!(Democracy::end_block(System::block_number()), Ok(())); + + assert_eq!(Balances::free_balance(&42), 2); + }); + } + #[test] fn controversial_low_turnout_voting_should_work() { with_externalities(&mut new_test_ext(), || { System::set_block_number(1); let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 0).unwrap(); - assert_ok!(Democracy::vote(Origin::signed(5), r.into(), false)); - assert_ok!(Democracy::vote(Origin::signed(6), r.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(5), r.into(), NAY)); + assert_ok!(Democracy::vote(Origin::signed(6), r.into(), AYE)); - assert_eq!(Democracy::tally(r), (60, 50)); + assert_eq!(Democracy::tally(r), (60, 50, 110)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); @@ -661,11 +824,11 @@ mod tests { System::set_block_number(1); let r = Democracy::inject_referendum(1, set_balance_proposal(2), VoteThreshold::SuperMajorityApprove, 0).unwrap(); - assert_ok!(Democracy::vote(Origin::signed(4), r.into(), true)); - assert_ok!(Democracy::vote(Origin::signed(5), r.into(), false)); - assert_ok!(Democracy::vote(Origin::signed(6), r.into(), true)); + assert_ok!(Democracy::vote(Origin::signed(4), r.into(), AYE)); + assert_ok!(Democracy::vote(Origin::signed(5), r.into(), NAY)); + assert_ok!(Democracy::vote(Origin::signed(6), r.into(), AYE)); - assert_eq!(Democracy::tally(r), (100, 50)); + assert_eq!(Democracy::tally(r), (100, 50, 150)); assert_eq!(Democracy::end_block(System::block_number()), Ok(())); diff --git a/substrate/srml/democracy/src/vote_threshold.rs b/substrate/srml/democracy/src/vote_threshold.rs index 2882a984d5..ab5e1ddee7 100644 --- a/substrate/srml/democracy/src/vote_threshold.rs +++ b/substrate/srml/democracy/src/vote_threshold.rs @@ -35,7 +35,7 @@ pub trait Approved { /// Given `approve` votes for and `against` votes against from a total electorate size of /// `electorate` (`electorate - (approve + against)` are abstainers), then returns true if the /// overall outcome is in favour of approval. - fn approved(&self, approve: Balance, against: Balance, electorate: Balance) -> bool; + fn approved(&self, approve: Balance, against: Balance, voters: Balance, electorate: Balance) -> bool; } /// Return `true` iff `n1 / d1 < n2 / d2`. `d1` and `d2` may not be zero. @@ -68,10 +68,12 @@ fn compare_rationals + Div + Rem + Mul + Div + Rem + Copy> Approved for VoteThreshold { /// Given `approve` votes for and `against` votes against from a total electorate size of - /// `electorate` (`electorate - (approve + against)` are abstainers), then returns true if the + /// `electorate` of whom `voters` voted (`electorate - voters` are abstainers) then returns true if the /// overall outcome is in favour of approval. - fn approved(&self, approve: Balance, against: Balance, electorate: Balance) -> bool { - let voters = approve + against; + /// + /// We assume each *voter* may cast more than one *vote*, hence `voters` is not necessarily equal to + /// `approve + against`. + fn approved(&self, approve: Balance, against: Balance, voters: Balance, electorate: Balance) -> bool { let sqrt_voters = voters.integer_sqrt(); let sqrt_electorate = electorate.integer_sqrt(); if sqrt_voters.is_zero() { return false; } @@ -91,7 +93,7 @@ mod tests { #[test] fn should_work() { - assert_eq!(VoteThreshold::SuperMajorityApprove.approved(60, 50, 210), false); - assert_eq!(VoteThreshold::SuperMajorityApprove.approved(100, 50, 210), true); + assert_eq!(VoteThreshold::SuperMajorityApprove.approved(60, 50, 110, 210), false); + assert_eq!(VoteThreshold::SuperMajorityApprove.approved(100, 50, 150, 210), true); } }