From 1ecd05dac989fb2a2cbc6c14bd763317899775e3 Mon Sep 17 00:00:00 2001
From: Gav Wood <gavin@parity.io>
Date: Mon, 19 Mar 2018 06:38:20 +0100
Subject: [PATCH] Refactor all (demo) runtime modules to use new storage (#98)

* Completely rework dispatch mechanism into something modular.

Not yet complete but 75% there.

* Council vote tests.

* Fix tests.

* whitespace.

* Fix demo runtime tests.

* Fix up tests.

* Remove dead code.

* Timestamp uses new storage API.

* Move over system module to new API.

* Much nicer storage API, moved over staking module.

* More refactoring.

* Democracy uses new storage API.

* Council uses new RPC.

* Fix more tests.

* Use match for Id

* Use match for Id

* Make PrivPass better protected.

* Address other grumbles.

* Give PrivPass a private member.

* Testing PrivPass.

* Add docs.

* Recompile binaries after merge.

* Remove duplicated code.

* New binaries.

* Docs

* Docs

* avoid use of (arguably) confusing terminology.
---
 substrate/demo/executor/src/lib.rs            |  34 +-
 substrate/demo/runtime/src/genesismap.rs      |  51 +--
 substrate/demo/runtime/src/lib.rs             |   2 +-
 substrate/demo/runtime/src/runtime/council.rs | 392 +++++++---------
 .../demo/runtime/src/runtime/council_vote.rs  |  96 ++--
 .../demo/runtime/src/runtime/democracy.rs     | 195 ++++----
 substrate/demo/runtime/src/runtime/session.rs |  91 ++--
 substrate/demo/runtime/src/runtime/staking.rs | 420 ++++++++---------
 substrate/demo/runtime/src/runtime/system.rs  |  34 +-
 .../demo/runtime/src/runtime/timestamp.rs     |  18 +-
 .../release/demo_runtime.compact.wasm         | Bin 160453 -> 156861 bytes
 .../release/demo_runtime.wasm                 | Bin 160504 -> 156912 bytes
 .../release/polkadot_runtime.compact.wasm     | Bin 134847 -> 134847 bytes
 .../release/polkadot_runtime.wasm             | Bin 134896 -> 134896 bytes
 .../substrate/runtime-support/src/lib.rs      |   2 +-
 .../runtime-support/src/storage/generator.rs  | 429 ++++++++++--------
 .../runtime-support/src/storage/mod.rs        | 100 ++--
 .../substrate_test_runtime.compact.wasm       | Bin 32002 -> 32002 bytes
 .../release/substrate_test_runtime.wasm       | Bin 32082 -> 32082 bytes
 19 files changed, 856 insertions(+), 1008 deletions(-)

diff --git a/substrate/demo/executor/src/lib.rs b/substrate/demo/executor/src/lib.rs
index 6e07f3c5fbf..5c6b2748d7a 100644
--- a/substrate/demo/executor/src/lib.rs
+++ b/substrate/demo/executor/src/lib.rs
@@ -38,15 +38,15 @@ mod tests {
 	use runtime_io;
 	use super::Executor;
 	use substrate_executor::WasmExecutor;
-	use codec::{KeyedVec, Slicable, Joiner};
+	use codec::{Slicable, Joiner};
 	use keyring::Keyring::{self, Alice, Bob};
-	use runtime_support::Hashable;
+	use runtime_support::{Hashable, StorageValue, StorageMap};
 	use state_machine::{CodeExecutor, TestExternalities};
 	use primitives::twox_128;
 	use demo_primitives::{Hash, Header, BlockNumber, Digest};
 	use demo_runtime::transaction::{Transaction, UncheckedTransaction};
 	use demo_runtime::block::Block;
-	use demo_runtime::runtime::staking::{self, balance, BALANCE_OF};
+	use demo_runtime::runtime::staking::{self, FreeBalanceOf, balance};
 	use demo_runtime::dispatch;
 	use ed25519::{Public, Pair};
 
@@ -75,8 +75,8 @@ mod tests {
 	#[test]
 	fn panic_execution_with_foreign_code_gives_error() {
 		let mut t: TestExternalities = map![
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![68u8, 0, 0, 0, 0, 0, 0, 0],
-			twox_128(staking::TRANSACTION_FEE).to_vec() => vec![0u8; 8]
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![68u8, 0, 0, 0, 0, 0, 0, 0],
+			twox_128(staking::TransactionFee::key()).to_vec() => vec![0u8; 8]
 		];
 
 		let r = Executor::new().call(&mut t, BLOATY_CODE, "execute_transaction", &vec![].and(&Header::from_block_number(1u64)).and(&tx()));
@@ -86,8 +86,8 @@ mod tests {
 	#[test]
 	fn panic_execution_with_native_equivalent_code_gives_error() {
 		let mut t: TestExternalities = map![
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![68u8, 0, 0, 0, 0, 0, 0, 0],
-			twox_128(staking::TRANSACTION_FEE).to_vec() => vec![0u8; 8]
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![68u8, 0, 0, 0, 0, 0, 0, 0],
+			twox_128(staking::TransactionFee::key()).to_vec() => vec![0u8; 8]
 		];
 
 		let r = Executor::new().call(&mut t, COMPACT_CODE, "execute_transaction", &vec![].and(&Header::from_block_number(1u64)).and(&tx()));
@@ -97,8 +97,8 @@ mod tests {
 	#[test]
 	fn successful_execution_with_native_equivalent_code_gives_ok() {
 		let mut t: TestExternalities = map![
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0],
-			twox_128(staking::TRANSACTION_FEE).to_vec() => vec![0u8; 8]
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0],
+			twox_128(staking::TransactionFee::key()).to_vec() => vec![0u8; 8]
 		];
 
 		let r = Executor::new().call(&mut t, COMPACT_CODE, "execute_transaction", &vec![].and(&Header::from_block_number(1u64)).and(&tx()));
@@ -113,8 +113,8 @@ mod tests {
 	#[test]
 	fn successful_execution_with_foreign_code_gives_ok() {
 		let mut t: TestExternalities = map![
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0],
-			twox_128(staking::TRANSACTION_FEE).to_vec() => vec![0u8; 8]
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0],
+			twox_128(staking::TransactionFee::key()).to_vec() => vec![0u8; 8]
 		];
 
 		let r = Executor::new().call(&mut t, BLOATY_CODE, "execute_transaction", &vec![].and(&Header::from_block_number(1u64)).and(&tx()));
@@ -158,7 +158,7 @@ mod tests {
 		construct_block(
 			1,
 			[69u8; 32].into(),
-			hex!("cfb76a83e40aa6a0d3f92255e6229e74808cae31d9f46053f31129b797540d03").into(),
+			hex!("7a388ce5b4eeadbb9268ae96e8822b223f4fd1841327d99f4e1c21fad81f97f2").into(),
 			vec![Transaction {
 				signed: Alice.into(),
 				nonce: 0,
@@ -171,7 +171,7 @@ mod tests {
 		construct_block(
 			2,
 			block1().1,
-			hex!("c713bd003e303648e8d904bcfa44084865c9b70c398547e678028cc7cf60907f").into(),
+			hex!("e4eb71be8b816f2061f32f284e9b429562cdc1b82f11725e5f965ff23439f5e9").into(),
 			vec![
 				Transaction {
 					signed: Bob.into(),
@@ -228,8 +228,8 @@ mod tests {
 	#[test]
 	fn panic_execution_gives_error() {
 		let mut t: TestExternalities = map![
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![68u8, 0, 0, 0, 0, 0, 0, 0],
-			twox_128(staking::TRANSACTION_FEE).to_vec() => vec![0u8; 8]
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![68u8, 0, 0, 0, 0, 0, 0, 0],
+			twox_128(staking::TransactionFee::key()).to_vec() => vec![0u8; 8]
 		];
 
 		let foreign_code = include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm");
@@ -240,8 +240,8 @@ mod tests {
 	#[test]
 	fn successful_execution_gives_ok() {
 		let mut t: TestExternalities = map![
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0],
-			twox_128(staking::TRANSACTION_FEE).to_vec() => vec![0u8; 8]
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0],
+			twox_128(staking::TransactionFee::key()).to_vec() => vec![0u8; 8]
 		];
 
 		let foreign_code = include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm");
diff --git a/substrate/demo/runtime/src/genesismap.rs b/substrate/demo/runtime/src/genesismap.rs
index c3b7da1b7d8..5fa83499b33 100644
--- a/substrate/demo/runtime/src/genesismap.rs
+++ b/substrate/demo/runtime/src/genesismap.rs
@@ -19,7 +19,7 @@
 use codec::{KeyedVec, Joiner};
 use std::collections::HashMap;
 use runtime_io::twox_128;
-use runtime_support::Hashable;
+use runtime_support::{Hashable, StorageMap, StorageList, StorageValue};
 use primitives::Block;
 use demo_primitives::{BlockNumber, AccountId};
 use runtime::staking::Balance;
@@ -80,40 +80,37 @@ impl GenesisConfig {
 	pub fn genesis_map(&self) -> HashMap<Vec<u8>, Vec<u8>> {
 		let wasm_runtime = include_bytes!("../wasm/genesis.wasm").to_vec();
 		vec![
-			(&session::SESSION_LENGTH[..], vec![].and(&self.session_length)),
-			(&session::VALIDATOR_COUNT[..], vec![].and(&(self.validators.len() as u32))),
+			(session::SessionLength::key(), vec![].and(&self.session_length)),
+			(session::Validators::key(), vec![].and(&self.validators)),
 
-			(&staking::INTENTION_COUNT[..], vec![].and(&0u32)),
-			(&staking::SESSIONS_PER_ERA[..], vec![].and(&self.sessions_per_era)),
-			(&staking::CURRENT_ERA[..], vec![].and(&0u64)),
+			(&staking::Intention::len_key()[..], vec![].and(&0u32)),
+			(&staking::SessionsPerEra::key()[..], vec![].and(&self.sessions_per_era)),
+			(&staking::CurrentEra::key()[..], vec![].and(&0u64)),
 
-			(&democracy::LAUNCH_PERIOD[..], vec![].and(&self.launch_period)),
-			(&democracy::VOTING_PERIOD[..], vec![].and(&self.voting_period)),
-			(&democracy::MINIMUM_DEPOSIT[..], vec![].and(&self.minimum_deposit)),
+			(democracy::LaunchPeriod::key(), vec![].and(&self.launch_period)),
+			(democracy::VotingPeriod::key(), vec![].and(&self.voting_period)),
+			(democracy::MinimumDeposit::key(), vec![].and(&self.minimum_deposit)),
 
-			(&council::CANDIDACY_BOND[..], vec![].and(&self.candidacy_bond)),
-			(&council::VOTING_BOND[..], vec![].and(&self.voter_bond)),
-			(&council::PRESENT_SLASH_PER_VOTER[..], vec![].and(&self.present_slash_per_voter)),
-			(&council::CARRY_COUNT[..], vec![].and(&self.carry_count)),
-			(&council::PRESENTATION_DURATION[..], vec![].and(&self.presentation_duration)),
-			(&council::VOTING_PERIOD[..], vec![].and(&self.council_election_voting_period)),
-			(&council::TERM_DURATION[..], vec![].and(&self.council_term_duration)),
-			(&council::DESIRED_SEATS[..], vec![].and(&self.desired_seats)),
-			(&council::INACTIVE_GRACE_PERIOD[..], vec![].and(&self.inactive_grace_period)),
+			(council::CandidacyBond::key(), vec![].and(&self.candidacy_bond)),
+			(council::VotingBond::key(), vec![].and(&self.voter_bond)),
+			(council::PresentSlashPerVoter::key(), vec![].and(&self.present_slash_per_voter)),
+			(council::CarryCount::key(), vec![].and(&self.carry_count)),
+			(council::PresentationDuration::key(), vec![].and(&self.presentation_duration)),
+			(council::VotingPeriod::key(), vec![].and(&self.council_election_voting_period)),
+			(council::TermDuration::key(), vec![].and(&self.council_term_duration)),
+			(council::DesiredSeats::key(), vec![].and(&self.desired_seats)),
+			(council::InactiveGracePeriod::key(), vec![].and(&self.inactive_grace_period)),
 
-			(&council_vote::COOLOFF_PERIOD[..], vec![].and(&self.cooloff_period)),
-			(&council_vote::VOTING_PERIOD[..], vec![].and(&self.council_proposal_voting_period))
+			(council_vote::CooloffPeriod::key(), vec![].and(&self.cooloff_period)),
+			(council_vote::VotingPeriod::key(), vec![].and(&self.council_proposal_voting_period))
 		].into_iter()
 			.map(|(k, v)| (k.into(), v))
-			.chain(self.validators.iter()
-				.enumerate()
-				.map(|(i, account)| ((i as u32).to_keyed_vec(session::VALIDATOR_AT), vec![].and(account)))
-			).chain(self.balances.iter()
-				.map(|&(account, balance)| (account.to_keyed_vec(staking::BALANCE_OF), vec![].and(&balance)))
+			.chain(self.balances.iter()
+				.map(|&(account, balance)| (staking::FreeBalanceOf::key_for(&account), vec![].and(&balance)))
 			)
 			.map(|(k, v)| (twox_128(&k[..])[..].to_vec(), v.to_vec()))
 			.chain(vec![
-				(system::CODE[..].into(), wasm_runtime),
+				(system::CODE.to_vec(), wasm_runtime),
 				(consensus::AUTHORITY_COUNT[..].into(), vec![].and(&(self.authorities.len() as u32))),
 			].into_iter())
 			.chain(self.authorities.iter()
@@ -127,6 +124,6 @@ impl GenesisConfig {
 pub fn additional_storage_with_genesis(genesis_block: &Block) -> HashMap<Vec<u8>, Vec<u8>> {
 	use codec::Slicable;
 	map![
-		twox_128(&0u64.to_keyed_vec(system::BLOCK_HASH_AT)).to_vec() => genesis_block.header.blake2_256().encode()
+		system::BlockHashAt::key_for(&0) => genesis_block.header.blake2_256().encode()
 	]
 }
diff --git a/substrate/demo/runtime/src/lib.rs b/substrate/demo/runtime/src/lib.rs
index 1df77cc8cb9..b9769af2092 100644
--- a/substrate/demo/runtime/src/lib.rs
+++ b/substrate/demo/runtime/src/lib.rs
@@ -20,7 +20,7 @@
 
 #[allow(unused_imports)] #[macro_use] extern crate substrate_runtime_std as rstd;
 #[macro_use] extern crate substrate_runtime_io as runtime_io;
-extern crate substrate_runtime_support as runtime_support;
+#[macro_use] extern crate substrate_runtime_support as runtime_support;
 #[cfg(any(feature = "std", test))] extern crate substrate_keyring as keyring;
 
 #[cfg(feature = "std")] #[macro_use] extern crate serde_derive;
diff --git a/substrate/demo/runtime/src/runtime/council.rs b/substrate/demo/runtime/src/runtime/council.rs
index 504461cf19a..3e64e231d8b 100644
--- a/substrate/demo/runtime/src/runtime/council.rs
+++ b/substrate/demo/runtime/src/runtime/council.rs
@@ -18,7 +18,7 @@
 
 use rstd::prelude::*;
 use codec::KeyedVec;
-use runtime_support::storage;
+use runtime_support::{StorageMap, StorageValue};
 use demo_primitives::{AccountId, Hash, BlockNumber};
 use runtime::{staking, system, session};
 use runtime::democracy::PrivPass;
@@ -80,103 +80,66 @@ use runtime::staking::{PublicPass, Balance};
 
 pub type VoteIndex = u32;
 
-// parameters
-pub const CANDIDACY_BOND: &[u8] = b"cou:cbo";
-pub const VOTING_BOND: &[u8] = b"cou:vbo";
-pub const PRESENT_SLASH_PER_VOTER: &[u8] = b"cou:pss";
-pub const CARRY_COUNT: &[u8] = b"cou:cco";
-pub const PRESENTATION_DURATION: &[u8] = b"cou:pdu";
-pub const INACTIVE_GRACE_PERIOD: &[u8] = b"cou:vgp";
-pub const VOTING_PERIOD: &[u8] = b"cou:per";
-pub const TERM_DURATION: &[u8] = b"cou:trm";
-pub const DESIRED_SEATS: &[u8] = b"cou:sts";
-
-// permanent state (always relevant, changes only at the finalisation of voting)
-pub const ACTIVE_COUNCIL: &[u8] = b"cou:act";		// Vec<(AccountId, expiry: BlockNumber)>
-pub const VOTE_COUNT: &[u8] = b"cou:vco";			// VoteIndex
-
-// persistent state (always relevant, changes constantly)
-pub const APPROVALS_OF: &[u8] = b"cou:apr:";		// Vec<bool>
-pub const REGISTER_INFO_OF: &[u8] = b"cou:reg:";	// Candidate -> (VoteIndex, u32)
-pub const LAST_ACTIVE_OF: &[u8] = b"cou:lac:";		// Voter -> VoteIndex
-pub const VOTERS: &[u8] = b"cou:vrs";				// Vec<AccountId>
-pub const CANDIDATES: &[u8] = b"cou:can";			// Vec<AccountId>, has holes
-pub const CANDIDATE_COUNT: &[u8] = b"cou:cnc";		// u32
-
-// temporary state (only relevant during finalisation/presentation)
-pub const NEXT_FINALISE: &[u8] = b"cou:nxt";
-pub const SNAPSHOTED_STAKES: &[u8] = b"cou:sss";		// Vec<Balance>
-pub const LEADERBOARD: &[u8] = b"cou:win";				// Vec<(Balance, AccountId)> ORDERED low -> high
-
-/// How much should be locked up in order to submit one's candidacy.
-pub fn candidacy_bond() -> Balance {
-	storage::get(CANDIDACY_BOND)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// How much should be locked up in order to be able to submit votes.
-pub fn voting_bond() -> Balance {
-	storage::get(VOTING_BOND)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// How long to give each top candidate to present themselves after the vote ends.
-pub fn presentation_duration() -> BlockNumber {
-	storage::get(PRESENTATION_DURATION)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// How often (in blocks) to check for new votes.
-pub fn voting_period() -> BlockNumber {
-	storage::get(VOTING_PERIOD)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// How many votes need to go by after a voter's last vote before they can be reaped if their
-/// approvals are moot.
-pub fn inactivity_grace_period() -> VoteIndex {
-	storage::get(INACTIVE_GRACE_PERIOD)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// How long each position is active for.
-pub fn term_duration() -> BlockNumber {
-	storage::get(TERM_DURATION)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// The punishment, per voter, if you provide an invalid presentation.
-pub fn present_slash_per_voter() -> Balance {
-	storage::get(PRESENT_SLASH_PER_VOTER)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// Number of accounts that should be sitting on the council.
-pub fn desired_seats() -> u32 {
-	storage::get(DESIRED_SEATS)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// How many runners-up should have their approvals persist until the next vote.
-pub fn carry_count() -> u32 {
-	storage::get(CARRY_COUNT)
-		.expect("all core parameters of council module must be in place")
+storage_items! {
+	// parameters
+	// How much should be locked up in order to submit one's candidacy.
+	pub CandidacyBond get(candidacy_bond): b"cou:cbo" => required Balance;
+	// How much should be locked up in order to be able to submit votes.
+	pub VotingBond get(voting_bond): b"cou:vbo" => required Balance;
+	// The punishment, per voter, if you provide an invalid presentation.
+	pub PresentSlashPerVoter get(present_slash_per_voter): b"cou:pss" => required Balance;
+	// How many runners-up should have their approvals persist until the next vote.
+	pub CarryCount get(carry_count): b"cou:cco" => required u32;
+	// How long to give each top candidate to present themselves after the vote ends.
+	pub PresentationDuration get(presentation_duration): b"cou:pdu" => required BlockNumber;
+	// How many votes need to go by after a voter's last vote before they can be reaped if their
+	// approvals are moot.
+	pub InactiveGracePeriod get(inactivity_grace_period): b"cou:vgp" => required VoteIndex;
+	// How often (in blocks) to check for new votes.
+	pub VotingPeriod get(voting_period): b"cou:per" => required BlockNumber;
+	// How long each position is active for.
+	pub TermDuration get(term_duration): b"cou:trm" => required BlockNumber;
+	// Number of accounts that should be sitting on the council.
+	pub DesiredSeats get(desired_seats): b"cou:sts" => required u32;
+
+	// permanent state (always relevant, changes only at the finalisation of voting)
+	// The current council. When there's a vote going on, this should still be used for executive
+	// matters.
+	pub ActiveCouncil get(active_council): b"cou:act" => default Vec<(AccountId, BlockNumber)>;
+	// The total number of votes that have happened or are in progress.
+	pub VoteCount get(vote_index): b"cou:vco" => default VoteIndex;
+
+	// persistent state (always relevant, changes constantly)
+	// The last cleared vote index that this voter was last active at.
+	pub ApprovalsOf get(approvals_of): b"cou:apr" => default map [ AccountId => Vec<bool> ];
+	// The vote index and list slot that the candidate `who` was registered or `None` if they are not
+	// currently registered.
+	pub RegisterInfoOf get(candidate_reg_info): b"cou:reg" => map [ AccountId => (VoteIndex, u32) ];
+	// The last cleared vote index that this voter was last active at.
+	pub LastActiveOf get(voter_last_active): b"cou:lac" => map [ AccountId => VoteIndex ];
+	// The present voter list.
+	pub Voters get(voters): b"cou:vrs" => default Vec<AccountId>;
+	// The present candidate list.
+	pub Candidates get(candidates): b"cou:can" => default Vec<AccountId>; // has holes
+	pub CandidateCount get(candidate_count): b"cou:cnc" => default u32;
+
+	// temporary state (only relevant during finalisation/presentation)
+	// The accounts holding the seats that will become free on the next tally.
+	pub NextFinalise get(next_finalise): b"cou:nxt" => (BlockNumber, u32, Vec<AccountId>);
+	// The stakes as they were at the point that the vote ended.
+	pub SnapshotedStakes get(snapshoted_stakes): b"cou:sss" => required Vec<Balance>;
+	// Get the leaderboard if we;re in the presentation phase.
+	pub Leaderboard get(leaderboard): b"cou:win" => Vec<(Balance, AccountId)>; // ORDERED low -> high
 }
 
 /// True if we're currently in a presentation period.
 pub fn presentation_active() -> bool {
-	storage::exists(NEXT_FINALISE)
-}
-
-/// The current council. When there's a vote going on, this should still be used for executive
-/// matters.
-pub fn active_council() -> Vec<(AccountId, BlockNumber)> {
-	storage::get_or_default(ACTIVE_COUNCIL)
+	NextFinalise::exists()
 }
 
 /// If `who` a candidate at the moment?
 pub fn is_a_candidate(who: &AccountId) -> bool {
-	storage::exists(&who.to_keyed_vec(REGISTER_INFO_OF))
+	RegisterInfoOf::exists(who)
 }
 
 /// Determine the block that a vote can happen on which is no less than `n`.
@@ -215,47 +178,6 @@ pub fn next_tally() -> Option<BlockNumber> {
 	}
 }
 
-/// The accounts holding the seats that will become free on the next tally.
-pub fn next_finalise() -> Option<(BlockNumber, u32, Vec<AccountId>)> {
-	storage::get(NEXT_FINALISE)
-}
-
-/// The total number of votes that have happened or are in progress.
-pub fn vote_index() -> VoteIndex {
-	storage::get_or_default(VOTE_COUNT)
-}
-
-/// The present candidate list.
-pub fn candidates() -> Vec<AccountId> {
-	storage::get_or_default(CANDIDATES)
-}
-
-/// The present voter list.
-pub fn voters() -> Vec<AccountId> {
-	storage::get_or_default(VOTERS)
-}
-
-/// The vote index and list slot that the candidate `who` was registered or `None` if they are not
-/// currently registered.
-pub fn candidate_reg_info(who: &AccountId) -> Option<(VoteIndex, u32)> {
-	storage::get(&who.to_keyed_vec(REGISTER_INFO_OF))
-}
-
-/// The last cleared vote index that this voter was last active at.
-pub fn voter_last_active(voter: &AccountId) -> Option<VoteIndex> {
-	storage::get(&voter.to_keyed_vec(LAST_ACTIVE_OF))
-}
-
-/// The last cleared vote index that this voter was last active at.
-pub fn approvals_of(voter: &AccountId) -> Vec<bool> {
-	storage::get_or_default(&voter.to_keyed_vec(APPROVALS_OF))
-}
-
-/// Get the leaderboard if we;re in the presentation phase.
-pub fn leaderboard() -> Option<Vec<(Balance, AccountId)>> {
-	storage::get(LEADERBOARD)
-}
-
 impl_dispatch! {
 	pub mod public;
 	fn set_approvals(votes: Vec<bool>, index: VoteIndex) = 0;
@@ -271,17 +193,17 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 	fn set_approvals(self, votes: Vec<bool>, index: VoteIndex) {
 		assert!(!presentation_active());
 		assert_eq!(index, vote_index());
-		if !storage::exists(&self.to_keyed_vec(LAST_ACTIVE_OF)) {
+		if !LastActiveOf::exists(*self) {
 			// not yet a voter - deduct bond.
 			staking::internal::reserve_balance(&self, voting_bond());
-			storage::put(VOTERS, &{
-				let mut v: Vec<AccountId> = storage::get_or_default(VOTERS);
+			Voters::put({
+				let mut v = Voters::get();
 				v.push(self.clone());
 				v
 			});
 		}
-		storage::put(&self.to_keyed_vec(APPROVALS_OF), &votes);
-		storage::put(&self.to_keyed_vec(LAST_ACTIVE_OF), &index);
+		ApprovalsOf::insert(*self, votes);
+		LastActiveOf::insert(*self, index);
 	}
 
 	/// Remove a voter. For it not to be a bond-consuming no-op, all approved candidate indices
@@ -291,7 +213,7 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 	/// May be called by anyone. Returns the voter deposit to `signed`.
 	fn reap_inactive_voter(self, signed_index: u32, who: AccountId, who_index: u32, assumed_vote_index: VoteIndex) {
 		assert!(!presentation_active(), "cannot reap during presentation period");
-		assert!(voter_last_active(&self).is_some(), "reaper must be a voter");
+		assert!(voter_last_active(*self).is_some(), "reaper must be a voter");
 		let last_active = voter_last_active(&who).expect("target for inactivity cleanup must be active");
 		assert!(assumed_vote_index == vote_index(), "vote index not current");
 		assert!(last_active < assumed_vote_index - inactivity_grace_period(), "cannot reap during grace perid");
@@ -326,7 +248,7 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 	/// Remove a voter. All votes are cancelled and the voter deposit is returned.
 	fn retract_voter(self, index: u32) {
 		assert!(!presentation_active(), "cannot retract when presenting");
-		assert!(storage::exists(&self.to_keyed_vec(LAST_ACTIVE_OF)), "cannot retract non-voter");
+		assert!(LastActiveOf::exists(*self), "cannot retract non-voter");
 		let voters = voters();
 		let index = index as usize;
 		assert!(index < voters.len(), "retraction index invalid");
@@ -343,8 +265,8 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 		assert!(staking::internal::deduct_unbonded(&self, candidacy_bond()), "candidate has not enough funds");
 
 		let slot = slot as usize;
-		let count = storage::get_or_default::<u32>(CANDIDATE_COUNT) as usize;
-		let candidates: Vec<AccountId> = storage::get_or_default(CANDIDATES);
+		let count = CandidateCount::get() as usize;
+		let candidates = Candidates::get();
 		assert!(
 			(slot == count && count == candidates.len()) ||
 			(slot < candidates.len() && candidates[slot] == AccountId::default()),
@@ -357,20 +279,20 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 		} else {
 			candidates[slot] = self.clone();
 		}
-		storage::put(CANDIDATES, &candidates);
-		storage::put(CANDIDATE_COUNT, &(count as u32 + 1));
-		storage::put(&self.to_keyed_vec(REGISTER_INFO_OF), &(vote_index(), slot));
+		Candidates::put(candidates);
+		CandidateCount::put(count as u32 + 1);
+		RegisterInfoOf::insert(*self, (vote_index(), slot as u32));
 	}
 
 	/// Claim that `signed` is one of the top carry_count() + current_vote().1 candidates.
-	/// Only works if the block number >= current_vote().0 and < current_vote().0 + presentation_duration()
+	/// Only works if the `block_number >= current_vote().0` and `< current_vote().0 + presentation_duration()``
 	/// `signed` should have at least
 	fn present_winner(self, candidate: AccountId, total: Balance, index: VoteIndex) {
 		assert_eq!(index, vote_index(), "index not current");
-		let (_, _, expiring): (BlockNumber, u32, Vec<AccountId>) = storage::get(NEXT_FINALISE)
+		let (_, _, expiring) = NextFinalise::get()
 			.expect("cannot present outside of presentation period");
-		let stakes: Vec<Balance> = storage::get_or_default(SNAPSHOTED_STAKES);
-		let voters: Vec<AccountId> = storage::get_or_default(VOTERS);
+		let stakes = SnapshotedStakes::get();
+		let voters = Voters::get();
 		let bad_presentation_punishment = present_slash_per_voter() * voters.len() as Balance;
 		assert!(staking::can_slash(&self, bad_presentation_punishment), "presenter must have sufficient slashable funds");
 
@@ -382,14 +304,14 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 		}
 
 		let (registered_since, candidate_index): (VoteIndex, u32) =
-			storage::get(&candidate.to_keyed_vec(REGISTER_INFO_OF)).expect("presented candidate must be current");
+			RegisterInfoOf::get(candidate).expect("presented candidate must be current");
 		let actual_total = voters.iter()
 			.zip(stakes.iter())
 			.filter_map(|(voter, stake)|
 				match voter_last_active(voter) {
 					Some(b) if b >= registered_since =>
 						approvals_of(voter).get(candidate_index as usize)
-							.and_then(|approved| if *approved { Some(stake) } else { None }),
+							.and_then(|approved| if *approved { Some(*stake) } else { None }),
 					_ => None,
 				})
 			.sum();
@@ -398,7 +320,7 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 			// insert into leaderboard
 			leaderboard[0] = (total, candidate.clone());
 			leaderboard.sort_by_key(|&(t, _)| t);
-			storage::put(LEADERBOARD, &leaderboard);
+			Leaderboard::put(leaderboard);
 		} else {
 			staking::internal::slash(&self, bad_presentation_punishment);
 		}
@@ -418,7 +340,7 @@ impl privileged::Dispatch for PrivPass {
 	/// election when they expire. If more, then a new vote will be started if one is not already
 	/// in progress.
 	fn set_desired_seats(self, count: u32) {
-		storage::put(DESIRED_SEATS, &count);
+		DesiredSeats::put(count);
 	}
 
 	/// Remove a particular member. A tally will happen instantly (if not already in a presentation
@@ -429,19 +351,19 @@ impl privileged::Dispatch for PrivPass {
 			.into_iter()
 			.filter(|i| i.0 != who)
 			.collect();
-		storage::put(ACTIVE_COUNCIL, &new_council);
+		ActiveCouncil::put(new_council);
 	}
 
 	/// Set the presentation duration. If there is current a vote being presented for, will
 	/// invoke `finalise_vote`.
 	fn set_presentation_duration(self, count: BlockNumber) {
-		storage::put(PRESENTATION_DURATION, &count);
+		PresentationDuration::put(count);
 	}
 
 	/// Set the presentation duration. If there is current a vote being presented for, will
 	/// invoke `finalise_vote`.
 	fn set_term_duration(self, count: BlockNumber) {
-		storage::put(TERM_DURATION, &count);
+		TermDuration::put(count);
 	}
 }
 
@@ -468,9 +390,9 @@ pub mod internal {
 
 /// Remove a voter from the system. Trusts that voters()[index] != voter.
 fn remove_voter(voter: &AccountId, index: usize, mut voters: Vec<AccountId>) {
-	storage::put(VOTERS, &{ voters.swap_remove(index); voters });
-	storage::kill(&voter.to_keyed_vec(APPROVALS_OF));
-	storage::kill(&voter.to_keyed_vec(LAST_ACTIVE_OF));
+	Voters::put({ voters.swap_remove(index); voters });
+	ApprovalsOf::remove(voter);
+	LastActiveOf::remove(voter);
 }
 
 /// Close the voting, snapshot the staking and the number of seats that are actually up for grabs.
@@ -478,18 +400,18 @@ fn start_tally() {
 	let active_council = active_council();
 	let desired_seats = desired_seats() as usize;
 	let number = system::block_number();
-	let expiring = active_council.iter().take_while(|i| i.1 == number).cloned().collect::<Vec<_>>();
+	let expiring = active_council.iter().take_while(|i| i.1 == number).map(|i| i.0).collect::<Vec<_>>();
 	if active_council.len() - expiring.len() < desired_seats {
 		let empty_seats = desired_seats - (active_council.len() - expiring.len());
-		storage::put(NEXT_FINALISE, &(number + presentation_duration(), empty_seats as u32, expiring));
+		NextFinalise::put((number + presentation_duration(), empty_seats as u32, expiring));
 
-		let voters: Vec<AccountId> = storage::get_or_default(VOTERS);
-		let votes: Vec<Balance> = voters.iter().map(staking::balance).collect();
-		storage::put(SNAPSHOTED_STAKES, &votes);
+		let voters = Voters::get();
+		let votes = voters.iter().map(staking::balance).collect::<Vec<_>>();
+		SnapshotedStakes::put(votes);
 
 		// initialise leaderboard.
 		let leaderboard_size = empty_seats + carry_count() as usize;
-		storage::put(LEADERBOARD, &vec![(0 as Balance, AccountId::default()); leaderboard_size]);
+		Leaderboard::put(vec![(0 as Balance, AccountId::default()); leaderboard_size]);
 	}
 }
 
@@ -498,10 +420,10 @@ fn start_tally() {
 /// a new vote is started.
 /// Clears all presented candidates, returning the bond of the elected ones.
 fn finalise_tally() {
-	storage::kill(SNAPSHOTED_STAKES);
-	let (_, coming, expiring): (BlockNumber, u32, Vec<AccountId>) = storage::take(NEXT_FINALISE)
+	SnapshotedStakes::kill();
+	let (_, coming, expiring): (BlockNumber, u32, Vec<AccountId>) = NextFinalise::take()
 		.expect("finalise can only be called after a tally is started.");
-	let leaderboard: Vec<(Balance, AccountId)> = storage::take(LEADERBOARD).unwrap_or_default();
+	let leaderboard: Vec<(Balance, AccountId)> = Leaderboard::take().unwrap_or_default();
 	let new_expiry = system::block_number() + term_duration();
 
 	// return bond to winners.
@@ -526,10 +448,10 @@ fn finalise_tally() {
 			.map(|(_, a)| (a, new_expiry)))
 		.collect();
 	new_council.sort_by_key(|&(_, expiry)| expiry);
-	storage::put(ACTIVE_COUNCIL, &new_council);
+	ActiveCouncil::put(new_council);
 
 	// clear all except runners-up from candidate list.
-	let candidates: Vec<AccountId> = storage::get_or_default(CANDIDATES);
+	let candidates = Candidates::get();
 	let mut new_candidates = vec![AccountId::default(); candidates.len()];	// shrink later.
 	let runners_up = leaderboard.into_iter()
 		.rev()
@@ -544,16 +466,16 @@ fn finalise_tally() {
 	for (old, new) in candidates.iter().zip(new_candidates.iter()) {
 		if old != new {
 			// removed - kill it
-			storage::kill(&old.to_keyed_vec(REGISTER_INFO_OF));
+			RegisterInfoOf::remove(old);
 		}
 	}
 	// discard any superfluous slots.
 	if let Some(last_index) = new_candidates.iter().rposition(|c| *c != AccountId::default()) {
 		new_candidates.truncate(last_index + 1);
 	}
-	storage::put(CANDIDATES, &(new_candidates));
-	storage::put(CANDIDATE_COUNT, &count);
-	storage::put(VOTE_COUNT, &(vote_index() + 1));
+	Candidates::put(new_candidates);
+	CandidateCount::put(count);
+	VoteCount::put(vote_index() + 1);
 }
 
 #[cfg(test)]
@@ -565,15 +487,15 @@ pub mod testing {
 
 	pub fn externalities() -> TestExternalities {
 		let extras: TestExternalities = map![
-			twox_128(CANDIDACY_BOND).to_vec() => vec![].and(&9u64),
-			twox_128(VOTING_BOND).to_vec() => vec![].and(&3u64),
-			twox_128(PRESENT_SLASH_PER_VOTER).to_vec() => vec![].and(&1u64),
-			twox_128(CARRY_COUNT).to_vec() => vec![].and(&2u32),
-			twox_128(PRESENTATION_DURATION).to_vec() => vec![].and(&2u64),
-			twox_128(VOTING_PERIOD).to_vec() => vec![].and(&4u64),
-			twox_128(TERM_DURATION).to_vec() => vec![].and(&5u64),
-			twox_128(DESIRED_SEATS).to_vec() => vec![].and(&2u32),
-			twox_128(INACTIVE_GRACE_PERIOD).to_vec() => vec![].and(&1u32)
+			twox_128(CandidacyBond::key()).to_vec() => vec![].and(&9u64),
+			twox_128(VotingBond::key()).to_vec() => vec![].and(&3u64),
+			twox_128(PresentSlashPerVoter::key()).to_vec() => vec![].and(&1u64),
+			twox_128(CarryCount::key()).to_vec() => vec![].and(&2u32),
+			twox_128(PresentationDuration::key()).to_vec() => vec![].and(&2u64),
+			twox_128(VotingPeriod::key()).to_vec() => vec![].and(&4u64),
+			twox_128(TermDuration::key()).to_vec() => vec![].and(&5u64),
+			twox_128(DesiredSeats::key()).to_vec() => vec![].and(&2u32),
+			twox_128(InactiveGracePeriod::key()).to_vec() => vec![].and(&1u32)
 		];
 		democracy::testing::externalities()
 			.into_iter().chain(extras.into_iter()).collect()
@@ -621,11 +543,11 @@ mod tests {
 
 			assert_eq!(candidates(), Vec::<AccountId>::new());
 			assert_eq!(is_a_candidate(&Alice), false);
-			assert_eq!(candidate_reg_info(&Alice), None);
+			assert_eq!(candidate_reg_info(*Alice), None);
 
 			assert_eq!(voters(), Vec::<AccountId>::new());
-			assert_eq!(voter_last_active(&Alice), None);
-			assert_eq!(approvals_of(&Alice), vec![]);
+			assert_eq!(voter_last_active(*Alice), None);
+			assert_eq!(approvals_of(*Alice), vec![]);
 		});
 	}
 
@@ -634,22 +556,22 @@ mod tests {
 		with_externalities(&mut new_test_ext(), || {
 			with_env(|e| e.block_number = 1);
 			assert_eq!(candidates(), Vec::<AccountId>::new());
-			assert_eq!(candidate_reg_info(&Alice), None);
-			assert_eq!(candidate_reg_info(&Bob), None);
+			assert_eq!(candidate_reg_info(*Alice), None);
+			assert_eq!(candidate_reg_info(*Bob), None);
 			assert_eq!(is_a_candidate(&Alice), false);
 			assert_eq!(is_a_candidate(&Bob), false);
 
 			PublicPass::test(&Alice).submit_candidacy(0);
 			assert_eq!(candidates(), vec![Alice.to_raw_public()]);
-			assert_eq!(candidate_reg_info(&Alice), Some((0 as VoteIndex, 0u32)));
-			assert_eq!(candidate_reg_info(&Bob), None);
+			assert_eq!(candidate_reg_info(*Alice), Some((0 as VoteIndex, 0u32)));
+			assert_eq!(candidate_reg_info(*Bob), None);
 			assert_eq!(is_a_candidate(&Alice), true);
 			assert_eq!(is_a_candidate(&Bob), false);
 
 			PublicPass::test(&Bob).submit_candidacy(1);
 			assert_eq!(candidates(), vec![Alice.to_raw_public(), Bob.into()]);
-			assert_eq!(candidate_reg_info(&Alice), Some((0 as VoteIndex, 0u32)));
-			assert_eq!(candidate_reg_info(&Bob), Some((0 as VoteIndex, 1u32)));
+			assert_eq!(candidate_reg_info(*Alice), Some((0 as VoteIndex, 0u32)));
+			assert_eq!(candidate_reg_info(*Bob), Some((0 as VoteIndex, 1u32)));
 			assert_eq!(is_a_candidate(&Alice), true);
 			assert_eq!(is_a_candidate(&Bob), true);
 		});
@@ -657,9 +579,9 @@ mod tests {
 
 	fn new_test_ext_with_candidate_holes() -> TestExternalities {
 		let mut t = new_test_ext();
-		t.insert(twox_128(CANDIDATES).to_vec(), vec![].and(&vec![AccountId::default(), AccountId::default(), Alice.to_raw_public()]));
-		t.insert(twox_128(CANDIDATE_COUNT).to_vec(), vec![].and(&1u32));
-		t.insert(twox_128(&Alice.to_raw_public().to_keyed_vec(REGISTER_INFO_OF)).to_vec(), vec![].and(&(0 as VoteIndex, 2u32)));
+		t.insert(twox_128(Candidates::key()).to_vec(), vec![].and(&vec![AccountId::default(), AccountId::default(), Alice.to_raw_public()]));
+		t.insert(twox_128(CandidateCount::key()).to_vec(), vec![].and(&1u32));
+		t.insert(twox_128(&RegisterInfoOf::key_for(*Alice)).to_vec(), vec![].and(&(0 as VoteIndex, 2u32)));
 		t
 	}
 
@@ -758,8 +680,8 @@ mod tests {
 			PublicPass::test(&Alice).set_approvals(vec![true], 0);
 			PublicPass::test(&Dave).set_approvals(vec![true], 0);
 
-			assert_eq!(approvals_of(&Alice), vec![true]);
-			assert_eq!(approvals_of(&Dave), vec![true]);
+			assert_eq!(approvals_of(*Alice), vec![true]);
+			assert_eq!(approvals_of(*Dave), vec![true]);
 			assert_eq!(voters(), vec![Alice.to_raw_public(), Dave.into()]);
 
 			PublicPass::test(&Bob).submit_candidacy(1);
@@ -768,10 +690,10 @@ mod tests {
 			PublicPass::test(&Bob).set_approvals(vec![false, true, true], 0);
 			PublicPass::test(&Charlie).set_approvals(vec![false, true, true], 0);
 
-			assert_eq!(approvals_of(&Alice), vec![true]);
-			assert_eq!(approvals_of(&Dave), vec![true]);
-			assert_eq!(approvals_of(&Bob), vec![false, true, true]);
-			assert_eq!(approvals_of(&Charlie), vec![false, true, true]);
+			assert_eq!(approvals_of(*Alice), vec![true]);
+			assert_eq!(approvals_of(*Dave), vec![true]);
+			assert_eq!(approvals_of(*Bob), vec![false, true, true]);
+			assert_eq!(approvals_of(*Charlie), vec![false, true, true]);
 
 			assert_eq!(voters(), vec![Alice.to_raw_public(), Dave.into(), Bob.into(), Charlie.into()]);
 		});
@@ -785,13 +707,13 @@ mod tests {
 			PublicPass::test(&Eve).submit_candidacy(0);
 			PublicPass::test(&Dave).set_approvals(vec![true], 0);
 
-			assert_eq!(approvals_of(&Dave), vec![true]);
+			assert_eq!(approvals_of(*Dave), vec![true]);
 
 			PublicPass::test(&Bob).submit_candidacy(1);
 			PublicPass::test(&Charlie).submit_candidacy(2);
 			PublicPass::test(&Dave).set_approvals(vec![true, false, true], 0);
 
-			assert_eq!(approvals_of(&Dave), vec![true, false, true]);
+			assert_eq!(approvals_of(*Dave), vec![true, false, true]);
 		});
 	}
 
@@ -810,34 +732,34 @@ mod tests {
 			PublicPass::test(&Dave).set_approvals(vec![true, false, true], 0);
 
 			assert_eq!(voters(), vec![Alice.to_raw_public(), Bob.into(), Charlie.into(), Dave.into()]);
-			assert_eq!(approvals_of(&Alice), vec![true]);
-			assert_eq!(approvals_of(&Bob), vec![false, true, true]);
-			assert_eq!(approvals_of(&Charlie), vec![false, true, true]);
-			assert_eq!(approvals_of(&Dave), vec![true, false, true]);
+			assert_eq!(approvals_of(*Alice), vec![true]);
+			assert_eq!(approvals_of(*Bob), vec![false, true, true]);
+			assert_eq!(approvals_of(*Charlie), vec![false, true, true]);
+			assert_eq!(approvals_of(*Dave), vec![true, false, true]);
 
 			PublicPass::test(&Alice).retract_voter(0);
 
 			assert_eq!(voters(), vec![Dave.to_raw_public(), Bob.into(), Charlie.into()]);
-			assert_eq!(approvals_of(&Alice), Vec::<bool>::new());
-			assert_eq!(approvals_of(&Bob), vec![false, true, true]);
-			assert_eq!(approvals_of(&Charlie), vec![false, true, true]);
-			assert_eq!(approvals_of(&Dave), vec![true, false, true]);
+			assert_eq!(approvals_of(*Alice), Vec::<bool>::new());
+			assert_eq!(approvals_of(*Bob), vec![false, true, true]);
+			assert_eq!(approvals_of(*Charlie), vec![false, true, true]);
+			assert_eq!(approvals_of(*Dave), vec![true, false, true]);
 
 			PublicPass::test(&Bob).retract_voter(1);
 
 			assert_eq!(voters(), vec![Dave.to_raw_public(), Charlie.into()]);
-			assert_eq!(approvals_of(&Alice), Vec::<bool>::new());
-			assert_eq!(approvals_of(&Bob), Vec::<bool>::new());
-			assert_eq!(approvals_of(&Charlie), vec![false, true, true]);
-			assert_eq!(approvals_of(&Dave), vec![true, false, true]);
+			assert_eq!(approvals_of(*Alice), Vec::<bool>::new());
+			assert_eq!(approvals_of(*Bob), Vec::<bool>::new());
+			assert_eq!(approvals_of(*Charlie), vec![false, true, true]);
+			assert_eq!(approvals_of(*Dave), vec![true, false, true]);
 
 			PublicPass::test(&Charlie).retract_voter(1);
 
 			assert_eq!(voters(), vec![Dave.to_raw_public()]);
-			assert_eq!(approvals_of(&Alice), Vec::<bool>::new());
-			assert_eq!(approvals_of(&Bob), Vec::<bool>::new());
-			assert_eq!(approvals_of(&Charlie), Vec::<bool>::new());
-			assert_eq!(approvals_of(&Dave), vec![true, false, true]);
+			assert_eq!(approvals_of(*Alice), Vec::<bool>::new());
+			assert_eq!(approvals_of(*Bob), Vec::<bool>::new());
+			assert_eq!(approvals_of(*Charlie), Vec::<bool>::new());
+			assert_eq!(approvals_of(*Dave), vec![true, false, true]);
 		});
 	}
 
@@ -901,8 +823,8 @@ mod tests {
 			assert!(!is_a_candidate(&Bob));
 			assert!(!is_a_candidate(&Eve));
 			assert_eq!(vote_index(), 1);
-			assert_eq!(voter_last_active(&Bob), Some(0));
-			assert_eq!(voter_last_active(&Eve), Some(0));
+			assert_eq!(voter_last_active(*Bob), Some(0));
+			assert_eq!(voter_last_active(*Eve), Some(0));
 		});
 	}
 
@@ -957,7 +879,7 @@ mod tests {
 			);
 
 			assert_eq!(voters(), vec![Eve.to_raw_public()]);
-			assert_eq!(approvals_of(&Bob).len(), 0);
+			assert_eq!(approvals_of(*Bob).len(), 0);
 			assert_eq!(staking::balance(&Bob), 17);
 			assert_eq!(staking::balance(&Eve), 53);
 		});
@@ -1017,7 +939,7 @@ mod tests {
 			);
 
 			assert_eq!(voters(), vec![Eve.to_raw_public()]);
-			assert_eq!(approvals_of(&Bob).len(), 0);
+			assert_eq!(approvals_of(*Bob).len(), 0);
 			assert_eq!(staking::balance(&Bob), 17);
 			assert_eq!(staking::balance(&Eve), 53);
 		});
@@ -1120,7 +1042,7 @@ mod tests {
 			);
 
 			assert_eq!(voters(), vec![Bob.to_raw_public(), Charlie.into(), Eve.into()]);
-			assert_eq!(approvals_of(&Dave).len(), 0);
+			assert_eq!(approvals_of(*Dave).len(), 0);
 			assert_eq!(staking::balance(&Dave), 37);
 		});
 	}
@@ -1327,13 +1249,13 @@ mod tests {
 			assert!(is_a_candidate(&Charlie));
 			assert!(is_a_candidate(&Dave));
 			assert_eq!(vote_index(), 1);
-			assert_eq!(voter_last_active(&Bob), Some(0));
-			assert_eq!(voter_last_active(&Charlie), Some(0));
-			assert_eq!(voter_last_active(&Dave), Some(0));
-			assert_eq!(voter_last_active(&Eve), Some(0));
-			assert_eq!(voter_last_active(&Ferdie), Some(0));
-			assert_eq!(candidate_reg_info(&Charlie), Some((0, 2)));
-			assert_eq!(candidate_reg_info(&Dave), Some((0, 3)));
+			assert_eq!(voter_last_active(*Bob), Some(0));
+			assert_eq!(voter_last_active(*Charlie), Some(0));
+			assert_eq!(voter_last_active(*Dave), Some(0));
+			assert_eq!(voter_last_active(*Eve), Some(0));
+			assert_eq!(voter_last_active(*Ferdie), Some(0));
+			assert_eq!(candidate_reg_info(*Charlie), Some((0, 2)));
+			assert_eq!(candidate_reg_info(*Dave), Some((0, 3)));
 		});
 	}
 
@@ -1379,13 +1301,13 @@ mod tests {
 			assert!(!is_a_candidate(&Eve));
 			assert!(is_a_candidate(&Dave));
 			assert_eq!(vote_index(), 2);
-			assert_eq!(voter_last_active(&Bob), Some(0));
-			assert_eq!(voter_last_active(&Charlie), Some(0));
-			assert_eq!(voter_last_active(&Dave), Some(0));
-			assert_eq!(voter_last_active(&Eve), Some(0));
-			assert_eq!(voter_last_active(&Ferdie), Some(1));
+			assert_eq!(voter_last_active(*Bob), Some(0));
+			assert_eq!(voter_last_active(*Charlie), Some(0));
+			assert_eq!(voter_last_active(*Dave), Some(0));
+			assert_eq!(voter_last_active(*Eve), Some(0));
+			assert_eq!(voter_last_active(*Ferdie), Some(1));
 
-			assert_eq!(candidate_reg_info(&Dave), Some((0, 3)));
+			assert_eq!(candidate_reg_info(*Dave), Some((0, 3)));
 		});
 	}
 }
diff --git a/substrate/demo/runtime/src/runtime/council_vote.rs b/substrate/demo/runtime/src/runtime/council_vote.rs
index 9b58c7eeb4f..763a35f1d26 100644
--- a/substrate/demo/runtime/src/runtime/council_vote.rs
+++ b/substrate/demo/runtime/src/runtime/council_vote.rs
@@ -17,9 +17,10 @@
 //! Council voting system.
 
 use rstd::prelude::*;
+use rstd::borrow::Borrow;
 use codec::{KeyedVec, Slicable, Input, NonTrivialSlicable};
 use runtime_support::Hashable;
-use runtime_support::storage;
+use runtime_support::{StorageValue, StorageMap};
 use demo_primitives::{AccountId, Hash, BlockNumber};
 use runtime::{system, democracy, council};
 use runtime::staking::{PublicPass, Balance};
@@ -28,43 +29,28 @@ use dispatch::PrivCall as Proposal;
 
 type ProposalHash = [u8; 32];
 
-pub const COOLOFF_PERIOD: &[u8] = b"cov:cooloff";		// BlockNumber
-pub const VOTING_PERIOD: &[u8] = b"cov:period";			// BlockNumber
-
-pub const PROPOSALS: &[u8] = b"cov:prs";				// Vec<(expiry: BlockNumber, ProposalHash)> ordered by expiry.
-pub const PROPOSAL_OF: &[u8] = b"cov:pro";				// ProposalHash -> Proposal
-pub const PROPOSAL_VOTERS: &[u8] = b"cov:voters:";		// ProposalHash -> Vec<AccountId>
-pub const COUNCIL_VOTE_OF: &[u8] = b"cov:vote:";		// (ProposalHash, AccountId) -> bool
-pub const VETOED_PROPOSAL: &[u8] = b"cov:veto:";		// ProposalHash -> (BlockNumber, sorted_vetoers: Vec<AccountId>)
-
-pub fn cooloff_period() -> BlockNumber {
-	storage::get(COOLOFF_PERIOD).expect("all parameters must be defined")
-}
-
-pub fn voting_period() -> BlockNumber {
-	storage::get(VOTING_PERIOD).expect("all parameters must be defined")
-}
-
-pub fn proposals() -> Vec<(BlockNumber, ProposalHash)> {
-	storage::get_or_default(PROPOSALS)
+storage_items! {
+	pub CooloffPeriod get(cooloff_period): b"cov:cooloff" => required BlockNumber;
+	pub VotingPeriod get(voting_period): b"cov:period" => required BlockNumber;
+	pub Proposals get(proposals): b"cov:prs" => default Vec<(BlockNumber, ProposalHash)>; // ordered by expiry.
+	pub ProposalOf get(proposal_of): b"cov:pro" => map [ ProposalHash => Proposal ];
+	pub ProposalVoters get(proposal_voters): b"cov:voters:" => default map [ ProposalHash => Vec<AccountId> ];
+	pub CouncilVoteOf get(vote_of): b"cov:vote:" => map [ (ProposalHash, AccountId) => bool ];
+	pub VetoedProposal get(veto_of): b"cov:veto:" => map [ ProposalHash => (BlockNumber, Vec<AccountId>) ];
 }
 
-pub fn is_vetoed(proposal: &ProposalHash) -> bool {
-	storage::get(&proposal.to_keyed_vec(VETOED_PROPOSAL))
+pub fn is_vetoed<B: Borrow<ProposalHash>>(proposal: B) -> bool {
+	VetoedProposal::get(proposal.borrow())
 		.map(|(expiry, _): (BlockNumber, Vec<AccountId>)| system::block_number() < expiry)
 		.unwrap_or(false)
 }
 
-pub fn veto_of(proposal: &ProposalHash) -> Option<(BlockNumber, Vec<AccountId>)> {
-	storage::get(&proposal.to_keyed_vec(VETOED_PROPOSAL))
-}
-
 fn set_veto_of(proposal: &ProposalHash, expiry: BlockNumber, vetoers: Vec<AccountId>) {
-	storage::put(&proposal.to_keyed_vec(VETOED_PROPOSAL), &(expiry, vetoers))
+	VetoedProposal::insert(proposal, (expiry, vetoers));
 }
 
 fn kill_veto_of(proposal: &ProposalHash) {
-	storage::kill(&proposal.to_keyed_vec(VETOED_PROPOSAL))
+	VetoedProposal::remove(proposal);
 }
 
 pub fn will_still_be_councillor_at(who: &AccountId, n: BlockNumber) -> bool {
@@ -79,20 +65,12 @@ pub fn is_councillor(who: &AccountId) -> bool {
 		.any(|&(ref a, _)| a == who)
 }
 
-pub fn vote_of(who: &AccountId, proposal: &ProposalHash) -> Option<bool> {
-	storage::get(&(*proposal, *who).to_keyed_vec(COUNCIL_VOTE_OF))
-}
-
-pub fn proposal_voters(proposal: &ProposalHash) -> Vec<AccountId> {
-	storage::get_or_default(&proposal.to_keyed_vec(PROPOSAL_VOTERS))
-}
-
 pub fn tally(proposal_hash: &ProposalHash) -> (u32, u32, u32) {
-	generic_tally(proposal_hash, |w: &AccountId, p: &ProposalHash| storage::get(&(*p, *w).to_keyed_vec(COUNCIL_VOTE_OF)))
+	generic_tally(proposal_hash, |w: &AccountId, p: &ProposalHash| CouncilVoteOf::get((*p, *w)))
 }
 
 fn take_tally(proposal_hash: &ProposalHash) -> (u32, u32, u32) {
-	generic_tally(proposal_hash, |w: &AccountId, p: &ProposalHash| storage::get(&(*p, *w).to_keyed_vec(COUNCIL_VOTE_OF)))
+	generic_tally(proposal_hash, |w: &AccountId, p: &ProposalHash| CouncilVoteOf::take((*p, *w)))
 }
 
 fn generic_tally<F: Fn(&AccountId, &ProposalHash) -> Option<bool>>(proposal_hash: &ProposalHash, vote_of: F) -> (u32, u32, u32) {
@@ -105,7 +83,7 @@ fn generic_tally<F: Fn(&AccountId, &ProposalHash) -> Option<bool>>(proposal_hash
 }
 
 fn set_proposals(p: &Vec<(BlockNumber, ProposalHash)>) {
-	storage::put(PROPOSALS, p)
+	Proposals::put(p);
 }
 
 fn take_proposal_if_expiring_at(n: BlockNumber) -> Option<(Proposal, ProposalHash)> {
@@ -114,7 +92,7 @@ fn take_proposal_if_expiring_at(n: BlockNumber) -> Option<(Proposal, ProposalHas
 		Some(&(expiry, hash)) if expiry == n => {
 			// yes this is horrible, but fixing it will need substantial work in storage.
 			set_proposals(&proposals[1..].to_vec());
-			let proposal = storage::take(&hash.to_keyed_vec(PROPOSAL_OF)).expect("all queued proposal hashes must have associated proposals");
+			let proposal = ProposalOf::take(hash).expect("all queued proposal hashes must have associated proposals");
 			Some((proposal, hash))
 		}
 		_ => None,
@@ -142,23 +120,23 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 		proposals.sort_by_key(|&(expiry, _)| expiry);
 		set_proposals(&proposals);
 
-		storage::put(&proposal_hash.to_keyed_vec(PROPOSAL_OF), &proposal);
-		storage::put(&proposal_hash.to_keyed_vec(PROPOSAL_VOTERS), &vec![*self]);
-		storage::put(&(proposal_hash, *self).to_keyed_vec(COUNCIL_VOTE_OF), &true);
+		ProposalOf::insert(proposal_hash, *proposal);
+		ProposalVoters::insert(proposal_hash, vec![*self]);
+		CouncilVoteOf::insert((proposal_hash, *self), true);
 	}
 
 	fn vote(self, proposal: ProposalHash, approve: bool) {
-		if vote_of(&self, &proposal).is_none() {
+		if vote_of((*self, proposal)).is_none() {
 			let mut voters = proposal_voters(&proposal);
 			voters.push(*self);
-			storage::put(&proposal.to_keyed_vec(PROPOSAL_VOTERS), &voters);
+			ProposalVoters::insert(proposal, voters);
 		}
-		storage::put(&(proposal, *self).to_keyed_vec(COUNCIL_VOTE_OF), &approve);
+		CouncilVoteOf::insert((proposal, *self), approve);
 	}
 
 	fn veto(self, proposal_hash: ProposalHash) {
 		assert!(is_councillor(&self), "only councillors may veto council proposals");
-		assert!(storage::exists(&proposal_hash.to_keyed_vec(PROPOSAL_VOTERS)), "proposal must exist to be vetoed");
+		assert!(ProposalVoters::exists(&proposal_hash), "proposal must exist to be vetoed");
 
 		let mut existing_vetoers = veto_of(&proposal_hash)
 			.map(|pair| pair.1)
@@ -169,10 +147,10 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 		set_veto_of(&proposal_hash, system::block_number() + cooloff_period(), existing_vetoers);
 
 		set_proposals(&proposals().into_iter().filter(|&(_, h)| h != proposal_hash).collect::<Vec<_>>());
-		storage::kill(&proposal_hash.to_keyed_vec(PROPOSAL_VOTERS));
-		storage::kill(&proposal_hash.to_keyed_vec(PROPOSAL_OF));
+		ProposalVoters::remove(proposal_hash);
+		ProposalOf::remove(proposal_hash);
 		for (c, _) in council::active_council() {
-			storage::kill(&(proposal_hash, c).to_keyed_vec(COUNCIL_VOTE_OF));
+			CouncilVoteOf::remove((proposal_hash, c));
 		}
 	}
 }
@@ -185,11 +163,11 @@ impl_dispatch! {
 
 impl privileged::Dispatch for PrivPass {
 	fn set_cooloff_period(self, blocks: BlockNumber) {
-		storage::put(COOLOFF_PERIOD, &blocks);
+		CooloffPeriod::put(blocks);
 	}
 
 	fn set_voting_period(self, blocks: BlockNumber) {
-		storage::put(VOTING_PERIOD, &blocks);
+		VotingPeriod::put(blocks);
 	}
 }
 
@@ -230,14 +208,14 @@ pub mod testing {
 	pub fn externalities() -> TestExternalities {
 		let expiry: BlockNumber = 10;
 		let extras: TestExternalities = map![
-			twox_128(council::ACTIVE_COUNCIL).to_vec() => vec![].and(&vec![
+			twox_128(council::ActiveCouncil::key()).to_vec() => vec![].and(&vec![
 				(Alice.to_raw_public(), expiry),
 				(Bob.into(), expiry),
 				(Charlie.into(), expiry)
 			]),
-			twox_128(COOLOFF_PERIOD).to_vec() => vec![].and(&2u64),
-			twox_128(VOTING_PERIOD).to_vec() => vec![].and(&1u64),
-			twox_128(democracy::VOTING_PERIOD).to_vec() => vec![].and(&3u64)
+			twox_128(CooloffPeriod::key()).to_vec() => vec![].and(&2u64),
+			twox_128(VotingPeriod::key()).to_vec() => vec![].and(&1u64),
+			twox_128(democracy::VotingPeriod::key()).to_vec() => vec![].and(&3u64)
 		];
 		council::testing::externalities()
 			.into_iter().chain(extras.into_iter()).collect()
@@ -274,9 +252,9 @@ mod tests {
 			assert_eq!(is_councillor(&Alice), true);
 			assert_eq!(is_councillor(&Dave), false);
 			assert_eq!(proposals(), Vec::<(BlockNumber, ProposalHash)>::new());
-			assert_eq!(proposal_voters(&ProposalHash::default()), Vec::<AccountId>::new());
+			assert_eq!(proposal_voters(ProposalHash::default()), Vec::<AccountId>::new());
 			assert_eq!(is_vetoed(&ProposalHash::default()), false);
-			assert_eq!(vote_of(&Alice, &ProposalHash::default()), None);
+			assert_eq!(vote_of((*Alice, ProposalHash::default())), None);
 			assert_eq!(tally(&ProposalHash::default()), (0, 0, 3));
 		});
 	}
@@ -447,7 +425,7 @@ mod tests {
 			PublicPass::new(&Alice).propose(Box::new(proposal.clone()));
 			assert_eq!(proposals().len(), 1);
 			assert_eq!(proposal_voters(&hash), vec![Alice.to_raw_public()]);
-			assert_eq!(vote_of(&Alice, &hash), Some(true));
+			assert_eq!(vote_of((hash, *Alice)), Some(true));
 			assert_eq!(tally(&hash), (1, 0, 2));
 		});
 	}
diff --git a/substrate/demo/runtime/src/runtime/democracy.rs b/substrate/demo/runtime/src/runtime/democracy.rs
index ea945245e70..7146a058339 100644
--- a/substrate/demo/runtime/src/runtime/democracy.rs
+++ b/substrate/demo/runtime/src/runtime/democracy.rs
@@ -19,7 +19,7 @@
 use rstd::prelude::*;
 use integer_sqrt::IntegerSquareRoot;
 use codec::{KeyedVec, Slicable, Input, NonTrivialSlicable};
-use runtime_support::storage;
+use runtime_support::{StorageValue, StorageMap};
 use demo_primitives::{AccountId, Hash, BlockNumber};
 use dispatch::PrivCall as Proposal;
 use runtime::{staking, system, session};
@@ -95,48 +95,36 @@ impl Approved for VoteThreshold {
 	}
 }
 
-// public proposals
-pub const PUBLIC_PROP_COUNT: &[u8] = b"dem:ppc";	// PropIndex
-pub const PUBLIC_PROPS: &[u8] = b"dem:pub";			// Vec<(PropIndex, Proposal)>
-pub const DEPOSIT_OF: &[u8] = b"dem:dep:";			// PropIndex -> (Balance, Vec<AccountId>)
-pub const LAUNCH_PERIOD: &[u8] = b"dem:lau";		// BlockNumber
-pub const MINIMUM_DEPOSIT: &[u8] = b"dem:min";		// Balance
-
-// referenda
-pub const VOTING_PERIOD: &[u8] = b"dem:per";		// BlockNumber
-pub const REFERENDUM_COUNT: &[u8] = b"dem:rco";		// ReferendumIndex
-pub const NEXT_TALLY: &[u8] = b"dem:nxt";			// ReferendumIndex
-pub const REFERENDUM_INFO_OF: &[u8] = b"dem:pro:";	// ReferendumIndex -> (BlockNumber, Proposal, VoteThreshold)
-pub const VOTERS_FOR: &[u8] = b"dem:vtr:";			// ReferendumIndex -> Vec<AccountId>
-pub const VOTE_OF: &[u8] = b"dem:vot:";				// (ReferendumIndex, AccountId) -> bool
-
-/// The minimum amount to be used as a deposit for a public referendum proposal.
-pub fn minimum_deposit() -> Balance {
-	storage::get(MINIMUM_DEPOSIT)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// How often (in blocks) to check for new votes.
-pub fn voting_period() -> BlockNumber {
-	storage::get(VOTING_PERIOD)
-		.expect("all core parameters of council module must be in place")
-}
-
-/// How often (in blocks) new public referenda are launched.
-pub fn launch_period() -> BlockNumber {
-	storage::get(LAUNCH_PERIOD)
-		.expect("all core parameters of council module must be in place")
+storage_items! {
+	// The number of (public) proposals that have been made so far.
+	pub PublicPropCount get(public_prop_count): b"dem:ppc" => default PropIndex;
+	// The public proposals. Unsorted.
+	pub PublicProps get(public_props): b"dem:pub" => default Vec<(PropIndex, Proposal, AccountId)>;
+	// Those who have locked a deposit.
+	pub DepositOf get(deposit_lockers): b"dem:dep:" => map [ PropIndex => (Balance, Vec<AccountId>) ];
+	// How often (in blocks) new public referenda are launched.
+	pub LaunchPeriod get(launch_period): b"dem:lau" => required BlockNumber;
+	// The minimum amount to be used as a deposit for a public referendum proposal.
+	pub MinimumDeposit get(minimum_deposit): b"dem:min" => required Balance;
+
+	// How often (in blocks) to check for new votes.
+	pub VotingPeriod get(voting_period): b"dem:per" => required BlockNumber;
+
+	// The next free referendum index, aka the number of referendums started so far.
+	pub ReferendumCount get(next_free_ref_index): b"dem:rco" => default ReferendumIndex;
+	// The next referendum index that should be tallied.
+	pub NextTally get(next_tally): b"dem:nxt" => default ReferendumIndex;
+	// Information concerning any given referendum.
+	pub ReferendumInfoOf get(referendum_info): b"dem:pro:" => map [ ReferendumIndex => (BlockNumber, Proposal, VoteThreshold) ];
+
+	// Get the voters for the current proposal.
+	pub VotersFor get(voters_for): b"dem:vtr:" => default map [ ReferendumIndex => Vec<AccountId> ];
+
+	// Get the vote, if Some, of `who`.
+	pub VoteOf get(vote_of): b"dem:vot:" => map [ (ReferendumIndex, AccountId) => bool ];
 }
 
-/// The public proposals. Unsorted.
-pub fn public_props() -> Vec<(PropIndex, Proposal, AccountId)> {
-	storage::get_or_default(PUBLIC_PROPS)
-}
-
-/// Those who have locked a deposit.
-pub fn deposit_lockers(proposal: PropIndex) -> Option<(Balance, Vec<AccountId>)> {
-	storage::get(&proposal.to_keyed_vec(DEPOSIT_OF))
-}
+// public proposals
 
 /// Get the amount locked in support of `proposal`; false if proposal isn't a valid proposal
 /// index.
@@ -146,28 +134,13 @@ pub fn locked_for(proposal: PropIndex) -> Option<Balance> {
 
 /// Return true if `ref_index` is an on-going referendum.
 pub fn is_active_referendum(ref_index: ReferendumIndex) -> bool {
-	storage::exists(&ref_index.to_keyed_vec(REFERENDUM_INFO_OF))
-}
-
-/// Get the voters for the current proposal.
-pub fn voters_for(ref_index: ReferendumIndex) -> Vec<AccountId> {
-	storage::get_or_default(&ref_index.to_keyed_vec(VOTERS_FOR))
-}
-
-/// Get the vote, if Some, of `who`.
-pub fn vote_of(who: &AccountId, ref_index: ReferendumIndex) -> Option<bool> {
-	storage::get(&(*who, ref_index).to_keyed_vec(VOTE_OF))
-}
-
-/// Get the info concerning the next referendum.
-pub fn referendum_info(ref_index: ReferendumIndex) -> Option<(BlockNumber, Proposal, VoteThreshold)> {
-	storage::get(&ref_index.to_keyed_vec(REFERENDUM_INFO_OF))
+	ReferendumInfoOf::exists(ref_index)
 }
 
 /// Get all referendums currently active.
 pub fn active_referendums() -> Vec<(ReferendumIndex, BlockNumber, Proposal, VoteThreshold)> {
-	let next: ReferendumIndex = storage::get_or_default(NEXT_TALLY);
-	let last: ReferendumIndex = storage::get_or_default(REFERENDUM_COUNT);
+	let next = NextTally::get();
+	let last = ReferendumCount::get();
 	(next..last).into_iter()
 		.filter_map(|i| referendum_info(i).map(|(n, p, t)| (i, n, p, t)))
 		.collect()
@@ -175,8 +148,8 @@ pub fn active_referendums() -> Vec<(ReferendumIndex, BlockNumber, Proposal, Vote
 
 /// Get all referendums ready for tally at block `n`.
 pub fn maturing_referendums_at(n: BlockNumber) -> Vec<(ReferendumIndex, BlockNumber, Proposal, VoteThreshold)> {
-	let next: ReferendumIndex = storage::get_or_default(NEXT_TALLY);
-	let last: ReferendumIndex = storage::get_or_default(REFERENDUM_COUNT);
+	let next = NextTally::get();
+	let last = ReferendumCount::get();
 	(next..last).into_iter()
 		.filter_map(|i| referendum_info(i).map(|(n, p, t)| (i, n, p, t)))
 		.take_while(|&(_, block_number, _, _)| block_number == n)
@@ -186,16 +159,11 @@ pub fn maturing_referendums_at(n: BlockNumber) -> Vec<(ReferendumIndex, BlockNum
 /// Get the voters for the current proposal.
 pub fn tally(ref_index: ReferendumIndex) -> (staking::Balance, staking::Balance) {
 	voters_for(ref_index).iter()
-		.map(|a| (staking::balance(a), vote_of(a, ref_index).expect("all items come from `voters`; for an item to be in `voters` there must be a vote registered; qed")))
+		.map(|a| (staking::balance(a), vote_of((ref_index, *a)).expect("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, 0) } else { (0, bal) })
 		.fold((0, 0), |(a, b), (c, d)| (a + c, b + d))
 }
 
-/// Get the next free referendum index, aka the number of referendums started so far.
-pub fn next_free_ref_index() -> ReferendumIndex {
-	storage::get_or_default(REFERENDUM_COUNT)
-}
-
 impl_dispatch! {
 	pub mod public;
 	fn propose(proposal: Box<Proposal>, value: Balance) = 0;
@@ -209,24 +177,22 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 		assert!(value >= minimum_deposit());
 		assert!(staking::internal::deduct_unbonded(&self, value));
 
-		let index: PropIndex = storage::get_or_default(PUBLIC_PROP_COUNT);
-		storage::put(PUBLIC_PROP_COUNT, &(index + 1));
-		storage::put(&index.to_keyed_vec(DEPOSIT_OF), &(value, vec![*self]));
+		let index = PublicPropCount::get();
+		PublicPropCount::put(index + 1);
+		DepositOf::insert(index, (value, vec![*self]));
 
 		let mut props = public_props();
 		props.push((index, (*proposal).clone(), *self));
-		storage::put(PUBLIC_PROPS, &props);
+		PublicProps::put(props);
 	}
 
 	/// Propose a sensitive action to be taken.
 	fn second(self, proposal: PropIndex) {
-		let key = proposal.to_keyed_vec(DEPOSIT_OF);
-		let mut deposit: (Balance, Vec<AccountId>) =
-			storage::get(&key).expect("can only second an existing proposal");
+		let mut deposit = DepositOf::get(proposal).expect("can only second an existing proposal");
 		assert!(staking::internal::deduct_unbonded(&self, deposit.0));
 
 		deposit.1.push(*self);
-		storage::put(&key, &deposit);
+		DepositOf::insert(proposal, deposit);
 	}
 
 	/// Vote in a referendum. If `approve_proposal` is true, the vote is to enact the proposal;
@@ -238,13 +204,12 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 		if staking::balance(&self) == 0 {
 			panic!("transactor must have balance to signal approval.");
 		}
-		let key = (*self, ref_index).to_keyed_vec(VOTE_OF);
-		if !storage::exists(&key) {
+		if !VoteOf::exists(&(ref_index, *self)) {
 			let mut voters = voters_for(ref_index);
 			voters.push(self.clone());
-			storage::put(&ref_index.to_keyed_vec(VOTERS_FOR), &voters);
+			VotersFor::insert(ref_index, voters);
 		}
-		storage::put(&key, &approve_proposal);
+		VoteOf::insert(&(ref_index, *self), approve_proposal);
 	}
 }
 
@@ -291,13 +256,12 @@ pub mod internal {
 			{
 				let (prop_index, proposal, _) = public_props.swap_remove(winner_index);
 				let (deposit, depositors): (Balance, Vec<AccountId>) =
-					storage::take(&prop_index.to_keyed_vec(DEPOSIT_OF))
-						.expect("depositors always exist for current proposals");
+					DepositOf::take(prop_index).expect("depositors always exist for current proposals");
 				// refund depositors
 				for d in &depositors {
 					staking::internal::refund(d, deposit);
 				}
-				storage::put(PUBLIC_PROPS, &public_props);
+				PublicProps::put(public_props);
 				inject_referendum(now + voting_period(), proposal, VoteThreshold::SuperMajorityApprove);
 			}
 		}
@@ -310,7 +274,7 @@ pub mod internal {
 			if vote_threshold.approved(approve, against, total_stake) {
 				proposal.dispatch(PrivPass::new());
 			}
-			storage::put(NEXT_TALLY, &(index + 1));
+			NextTally::put(index + 1);
 		}
 	}
 }
@@ -326,17 +290,17 @@ fn inject_referendum(
 		panic!("Cannot inject a referendum that ends earlier than preceeding referendum");
 	}
 
-	storage::put(REFERENDUM_COUNT, &(ref_index + 1));
-	storage::put(&ref_index.to_keyed_vec(REFERENDUM_INFO_OF), &(end, proposal, vote_threshold));
+	ReferendumCount::put(ref_index + 1);
+	ReferendumInfoOf::insert(ref_index, (end, proposal, vote_threshold));
 	ref_index
 }
 
 /// Remove all info on a referendum.
 fn clear_referendum(ref_index: ReferendumIndex) {
-	storage::kill(&ref_index.to_keyed_vec(REFERENDUM_INFO_OF));
-	storage::kill(&ref_index.to_keyed_vec(VOTERS_FOR));
+	ReferendumInfoOf::remove(ref_index);
+	VotersFor::remove(ref_index);
 	for v in voters_for(ref_index) {
-		storage::kill(&(v, ref_index).to_keyed_vec(VOTE_OF));
+		VoteOf::remove((ref_index, v));
 	}
 }
 
@@ -344,37 +308,36 @@ fn clear_referendum(ref_index: ReferendumIndex) {
 pub mod testing {
 	use super::*;
 	use runtime_io::{twox_128, TestExternalities};
+	use runtime_support::{StorageList, StorageValue, StorageMap};
 	use codec::Joiner;
 	use keyring::Keyring::*;
 	use runtime::{session, staking};
 
 	pub fn externalities() -> TestExternalities {
 		map![
-			twox_128(session::SESSION_LENGTH).to_vec() => vec![].and(&1u64),
-			twox_128(session::VALIDATOR_COUNT).to_vec() => vec![].and(&3u32),
-			twox_128(&0u32.to_keyed_vec(session::VALIDATOR_AT)).to_vec() => Alice.to_raw_public_vec(),
-			twox_128(&1u32.to_keyed_vec(session::VALIDATOR_AT)).to_vec() => Bob.to_raw_public_vec(),
-			twox_128(&2u32.to_keyed_vec(session::VALIDATOR_AT)).to_vec() => Charlie.to_raw_public_vec(),
-			twox_128(staking::INTENTION_COUNT).to_vec() => vec![].and(&3u32),
-			twox_128(&0u32.to_keyed_vec(staking::INTENTION_AT)).to_vec() => Alice.to_raw_public_vec(),
-			twox_128(&1u32.to_keyed_vec(staking::INTENTION_AT)).to_vec() => Bob.to_raw_public_vec(),
-			twox_128(&2u32.to_keyed_vec(staking::INTENTION_AT)).to_vec() => Charlie.to_raw_public_vec(),
-			twox_128(&Alice.to_raw_public().to_keyed_vec(staking::BALANCE_OF)).to_vec() => vec![].and(&10u64),
-			twox_128(&Bob.to_raw_public().to_keyed_vec(staking::BALANCE_OF)).to_vec() => vec![].and(&20u64),
-			twox_128(&Charlie.to_raw_public().to_keyed_vec(staking::BALANCE_OF)).to_vec() => vec![].and(&30u64),
-			twox_128(&Dave.to_raw_public().to_keyed_vec(staking::BALANCE_OF)).to_vec() => vec![].and(&40u64),
-			twox_128(&Eve.to_raw_public().to_keyed_vec(staking::BALANCE_OF)).to_vec() => vec![].and(&50u64),
-			twox_128(&Ferdie.to_raw_public().to_keyed_vec(staking::BALANCE_OF)).to_vec() => vec![].and(&60u64),
-			twox_128(&One.to_raw_public().to_keyed_vec(staking::BALANCE_OF)).to_vec() => vec![].and(&1u64),
-			twox_128(staking::TOTAL_STAKE).to_vec() => vec![].and(&210u64),
-			twox_128(staking::SESSIONS_PER_ERA).to_vec() => vec![].and(&1u64),
-			twox_128(staking::VALIDATOR_COUNT).to_vec() => vec![].and(&3u64),
-			twox_128(staking::CURRENT_ERA).to_vec() => vec![].and(&1u64),
-			twox_128(staking::TRANSACTION_FEE).to_vec() => vec![].and(&1u64),
-
-			twox_128(LAUNCH_PERIOD).to_vec() => vec![].and(&1u64),
-			twox_128(VOTING_PERIOD).to_vec() => vec![].and(&1u64),
-			twox_128(MINIMUM_DEPOSIT).to_vec() => vec![].and(&1u64)
+			twox_128(session::SessionLength::key()).to_vec() => vec![].and(&1u64),
+			twox_128(session::Validators::key()).to_vec() => vec![].and(&vec![Alice.to_raw_public(), Bob.into(), Charlie.into()]),
+			twox_128(&staking::Intention::len_key()).to_vec() => vec![].and(&3u32),
+			twox_128(&staking::Intention::key_for(0)).to_vec() => Alice.to_raw_public_vec(),
+			twox_128(&staking::Intention::key_for(1)).to_vec() => Bob.to_raw_public_vec(),
+			twox_128(&staking::Intention::key_for(2)).to_vec() => Charlie.to_raw_public_vec(),
+			twox_128(&staking::FreeBalanceOf::key_for(*Alice)).to_vec() => vec![].and(&10u64),
+			twox_128(&staking::FreeBalanceOf::key_for(*Bob)).to_vec() => vec![].and(&20u64),
+			twox_128(&staking::FreeBalanceOf::key_for(*Charlie)).to_vec() => vec![].and(&30u64),
+			twox_128(&staking::FreeBalanceOf::key_for(*Dave)).to_vec() => vec![].and(&40u64),
+			twox_128(&staking::FreeBalanceOf::key_for(*Eve)).to_vec() => vec![].and(&50u64),
+			twox_128(&staking::FreeBalanceOf::key_for(*Ferdie)).to_vec() => vec![].and(&60u64),
+			twox_128(&staking::FreeBalanceOf::key_for(*One)).to_vec() => vec![].and(&1u64),
+			twox_128(staking::TotalStake::key()).to_vec() => vec![].and(&210u64),
+			twox_128(staking::SessionsPerEra::key()).to_vec() => vec![].and(&1u64),
+			twox_128(staking::ValidatorCount::key()).to_vec() => vec![].and(&3u64),
+			twox_128(staking::CurrentEra::key()).to_vec() => vec![].and(&1u64),
+			twox_128(staking::TransactionFee::key()).to_vec() => vec![].and(&1u64),
+			twox_128(staking::BondingDuration::key()).to_vec() => vec![].and(&0u64),
+
+			twox_128(LaunchPeriod::key()).to_vec() => vec![].and(&1u64),
+			twox_128(VotingPeriod::key()).to_vec() => vec![].and(&1u64),
+			twox_128(MinimumDeposit::key()).to_vec() => vec![].and(&1u64)
 		]
 	}
 }
@@ -442,7 +405,7 @@ mod tests {
 
 			assert_eq!(next_free_ref_index(), 1);
 			assert_eq!(voters_for(r), vec![Alice.to_raw_public()]);
-			assert_eq!(vote_of(&Alice, r), Some(true));
+			assert_eq!(vote_of((r, *Alice)), Some(true));
 			assert_eq!(tally(r), (10, 0));
 
 			democracy::internal::end_block(system::block_number());
@@ -557,7 +520,7 @@ mod tests {
 			PublicPass::test(&Alice).vote(r, true);
 
 			assert_eq!(voters_for(r), vec![Alice.to_raw_public()]);
-			assert_eq!(vote_of(&Alice, r), Some(true));
+			assert_eq!(vote_of((r, *Alice)), Some(true));
 			assert_eq!(tally(r), (10, 0));
 
 			democracy::internal::end_block(system::block_number());
@@ -590,7 +553,7 @@ mod tests {
 			PublicPass::test(&Alice).vote(r, false);
 
 			assert_eq!(voters_for(r), vec![Alice.to_raw_public()]);
-			assert_eq!(vote_of(&Alice, r), Some(false));
+			assert_eq!(vote_of((r, *Alice)), Some(false));
 			assert_eq!(tally(r), (0, 10));
 
 			democracy::internal::end_block(system::block_number());
diff --git a/substrate/demo/runtime/src/runtime/session.rs b/substrate/demo/runtime/src/runtime/session.rs
index a0983c16080..f7fc68f83c6 100644
--- a/substrate/demo/runtime/src/runtime/session.rs
+++ b/substrate/demo/runtime/src/runtime/session.rs
@@ -19,49 +19,31 @@
 
 use rstd::prelude::*;
 use codec::KeyedVec;
-use runtime_support::{storage, StorageVec};
+use runtime_support::{storage, StorageValue, StorageMap};
 use demo_primitives::{AccountId, SessionKey, BlockNumber};
 use runtime::{system, staking, consensus};
 use runtime::democracy::PrivPass;
 use runtime::staking::PublicPass;
 
-pub const SESSION_LENGTH: &[u8] = b"ses:len";
-pub const CURRENT_INDEX: &[u8] = b"ses:ind";
-pub const LAST_LENGTH_CHANGE: &[u8] = b"ses:llc";
-pub const NEXT_KEY_FOR: &[u8] = b"ses:nxt:";
-pub const NEXT_SESSION_LENGTH: &[u8] = b"ses:nln";
-pub const VALIDATOR_AT: &[u8] = b"ses:val:";
-pub const VALIDATOR_COUNT: &[u8] = b"ses:val:len";
-
-struct ValidatorStorageVec {}
-impl StorageVec for ValidatorStorageVec {
-	type Item = AccountId;
-	const PREFIX: &'static[u8] = VALIDATOR_AT;
-}
-
-/// Get the current set of validators.
-pub fn validators() -> Vec<AccountId> {
-	ValidatorStorageVec::items()
-}
-
-/// The number of blocks in each session.
-pub fn length() -> BlockNumber {
-	storage::get_or(SESSION_LENGTH, 0)
+storage_items!{
+	// The current set of validators.
+	pub Validators get(validators): b"ses:val" => required Vec<AccountId>;
+	// Current length of the session.
+	pub SessionLength get(length): b"ses:len" => required BlockNumber;
+	// Current index of the session.
+	pub CurrentIndex get(current_index): b"ses:ind" => required BlockNumber;
+
+	// Block at which the session length last changed.
+	LastLengthChange: b"ses:llc" => default BlockNumber;
+	// The next key for a given validator.
+	NextKeyFor: b"ses:nxt:" => map [ AccountId => SessionKey ];
+	// The next session length.
+	NextSessionLength: b"ses:nln" => BlockNumber;
 }
 
 /// The number of validators currently.
 pub fn validator_count() -> u32 {
-	ValidatorStorageVec::count() as u32
-}
-
-/// The current era index.
-pub fn current_index() -> BlockNumber {
-	storage::get_or(CURRENT_INDEX, 0)
-}
-
-/// The block number at which the era length last changed.
-pub fn last_length_change() -> BlockNumber {
-	storage::get_or(LAST_LENGTH_CHANGE, 0)
+	Validators::get().len() as u32	// TODO: can probably optimised
 }
 
 impl_dispatch! {
@@ -74,7 +56,7 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 	/// session.
 	fn set_key(self, key: SessionKey) {
 		// set new value for next session
-		storage::put(&self.to_keyed_vec(NEXT_KEY_FOR), &key);
+		NextKeyFor::insert(*self, key)
 	}
 }
 
@@ -87,7 +69,7 @@ impl_dispatch! {
 impl privileged::Dispatch for PrivPass {
 	/// Set a new era length. Won't kick in until the next era change (at current length).
 	fn set_length(self, new: BlockNumber) {
-		storage::put(NEXT_SESSION_LENGTH, &new);
+		NextSessionLength::put(new);
 	}
 
 	/// Forces a new session.
@@ -103,10 +85,10 @@ pub mod internal {
 
 	/// Set the current set of validators.
 	///
-	/// Called by staking::next_era() only. `next_session` should be called after this in order to
+	/// Called by `staking::next_era()` only. `next_session` should be called after this in order to
 	/// update the session keys to the next validator set.
 	pub fn set_validators(new: &[AccountId]) {
-		ValidatorStorageVec::set_items(new);
+		Validators::put(&new.to_vec());			// TODO: optimise.
 		consensus::internal::set_authorities(new);
 	}
 
@@ -115,7 +97,7 @@ pub mod internal {
 		// do this last, after the staking system has had chance to switch out the authorities for the
 		// new set.
 		// check block number and call next_session if necessary.
-		if (system::block_number() - last_length_change()) % length() == 0 {
+		if (system::block_number() - LastLengthChange::get()) % length() == 0 {
 			rotate_session();
 		}
 	}
@@ -123,19 +105,17 @@ pub mod internal {
 	/// Move onto next session: register the new authority set.
 	pub fn rotate_session() {
 		// Increment current session index.
-		storage::put(CURRENT_INDEX, &(current_index() + 1));
+		CurrentIndex::put(CurrentIndex::get() + 1);
 
 		// Enact era length change.
-		if let Some(next_len) = storage::get::<u64>(NEXT_SESSION_LENGTH) {
-			storage::put(SESSION_LENGTH, &next_len);
-			storage::put(LAST_LENGTH_CHANGE, &system::block_number());
-			storage::kill(NEXT_SESSION_LENGTH);
+		if let Some(next_len) = NextSessionLength::take() {
+			SessionLength::put(next_len);
+			LastLengthChange::put(system::block_number());
 		}
 
 		// Update any changes in session keys.
 		validators().iter().enumerate().for_each(|(i, v)| {
-			let k = v.to_keyed_vec(NEXT_KEY_FOR);
-			if let Some(n) = storage::take(&k) {
+			if let Some(n) = NextKeyFor::take(v) {
 				consensus::internal::set_authority(i as u32, &n);
 			}
 		});
@@ -147,20 +127,16 @@ pub mod testing {
 	use super::*;
 	use runtime_io::{twox_128, TestExternalities};
 	use codec::{Joiner, KeyedVec};
-	use keyring::Keyring;
+	use keyring::Keyring::*;
 	use runtime::system;
 
 	pub fn externalities(session_length: u64) -> TestExternalities {
-		let one = Keyring::One.to_raw_public();
-		let two = Keyring::Two.to_raw_public();
 		let three = [3u8; 32];
 
 		let extras: TestExternalities = map![
-			twox_128(SESSION_LENGTH).to_vec() => vec![].and(&session_length),
-			twox_128(VALIDATOR_COUNT).to_vec() => vec![].and(&3u32),
-			twox_128(&0u32.to_keyed_vec(VALIDATOR_AT)).to_vec() => one.to_vec(),
-			twox_128(&1u32.to_keyed_vec(VALIDATOR_AT)).to_vec() => two.to_vec(),
-			twox_128(&2u32.to_keyed_vec(VALIDATOR_AT)).to_vec() => three.to_vec()
+			twox_128(SessionLength::key()).to_vec() => vec![].and(&session_length),
+			twox_128(CurrentIndex::key()).to_vec() => vec![].and(&0u64),
+			twox_128(Validators::key()).to_vec() => vec![].and(&vec![One.into(), Two.into(), three])
 		];
 		system::testing::externalities().into_iter().chain(extras.into_iter()).collect()
 	}
@@ -181,11 +157,10 @@ mod tests {
 
 	fn simple_setup() -> TestExternalities {
 		map![
-			twox_128(SESSION_LENGTH).to_vec() => vec![].and(&2u64),
+			twox_128(SessionLength::key()).to_vec() => vec![].and(&2u64),
+			twox_128(CurrentIndex::key()).to_vec() => vec![].and(&0u64),
 			// the validators (10, 20, ...)
-			twox_128(b"ses:val:len").to_vec() => vec![].and(&2u32),
-			twox_128(&0u32.to_keyed_vec(ValidatorStorageVec::PREFIX)).to_vec() => vec![10; 32],
-			twox_128(&1u32.to_keyed_vec(ValidatorStorageVec::PREFIX)).to_vec() => vec![20; 32],
+			twox_128(Validators::key()).to_vec() => vec![].and(&vec![[10u8; 32], [20; 32]]),
 			// initial session keys (11, 21, ...)
 			b":auth:len".to_vec() => vec![].and(&2u32),
 			0u32.to_keyed_vec(b":auth:") => vec![11; 32],
diff --git a/substrate/demo/runtime/src/runtime/staking.rs b/substrate/demo/runtime/src/runtime/staking.rs
index 629700503f9..f863e8d4242 100644
--- a/substrate/demo/runtime/src/runtime/staking.rs
+++ b/substrate/demo/runtime/src/runtime/staking.rs
@@ -22,7 +22,7 @@ use rstd::cell::RefCell;
 use rstd::collections::btree_map::{BTreeMap, Entry};
 use runtime_io::{print, blake2_256};
 use codec::{Slicable, Input, KeyedVec};
-use runtime_support::{storage, StorageVec};
+use runtime_support::{storage, StorageValue, StorageList, StorageMap};
 use demo_primitives::{BlockNumber, AccountId};
 use runtime::{system, session, democracy};
 
@@ -32,78 +32,52 @@ pub type Balance = u64;
 /// The amount of bonding period left in an account. Measured in eras.
 pub type Bondage = u64;
 
-pub const BONDING_DURATION: &[u8] = b"sta:loc";
-pub const VALIDATOR_COUNT: &[u8] = b"sta:vac";
-pub const SESSIONS_PER_ERA: &[u8] = b"sta:spe";
-pub const NEXT_SESSIONS_PER_ERA: &[u8] = b"sta:nse";
-pub const CURRENT_ERA: &[u8] = b"sta:era";
-pub const LAST_ERA_LENGTH_CHANGE: &[u8] = b"sta:lec";
-pub const TOTAL_STAKE: &[u8] = b"sta:tot";
-pub const INTENTION_AT: &[u8] = b"sta:wil:";
-pub const INTENTION_COUNT: &[u8] = b"sta:wil:len";
-pub const TRANSACTION_FEE: &[u8] = b"sta:fee";
-
-pub const BALANCE_OF: &[u8] = b"sta:bal:";
-pub const RESERVED_BALANCE_OF: &[u8] = b"sta:lbo:";
-pub const BONDAGE_OF: &[u8] = b"sta:bon:";
-pub const CODE_OF: &[u8] = b"sta:cod:";
-pub const STORAGE_OF: &[u8] = b"sta:sto:";
-
-pub struct IntentionStorageVec {}
-impl StorageVec for IntentionStorageVec {
-	type Item = AccountId;
-	const PREFIX: &'static[u8] = INTENTION_AT;
-}
-
-/// The fee to be paid for making a transaction.
-pub fn transaction_fee() -> Balance {
-	storage::get(TRANSACTION_FEE).expect("All basic parameters should be defined")
-}
-
-/// The length of the bonding duration in eras.
-pub fn bonding_duration() -> BlockNumber {
-	storage::get_or_default(BONDING_DURATION)
-}
-
-/// The length of a staking era in sessions.
-pub fn validator_count() -> usize {
-	storage::get_or_default::<u32>(VALIDATOR_COUNT) as usize
+storage_items! {
+	// The length of the bonding duration in eras.
+	pub BondingDuration get(bonding_duration): b"sta:loc" => required BlockNumber;
+	// The length of a staking era in sessions.
+	pub ValidatorCount get(validator_count): b"sta:vac" => required u32;
+	// The length of a staking era in sessions.
+	pub SessionsPerEra get(sessions_per_era): b"sta:spe" => required BlockNumber;
+	// The total amount of stake on the system.
+	pub TotalStake get(total_stake): b"sta:tot" => required Balance;
+	// The fee to be paid for making a transaction.
+	pub TransactionFee get(transaction_fee): b"sta:fee" => required Balance;
+
+	// The current era index.
+	pub CurrentEra get(current_era): b"sta:era" => required BlockNumber;
+	// All the accounts with a desire to stake.
+	pub Intention: b"sta:wil:" => list [ AccountId ];
+	// The next value of sessions per era.
+	pub NextSessionsPerEra get(next_sessions_per_era): b"sta:nse" => BlockNumber;
+	// The block number at which the era length last changed.
+	pub LastEraLengthChange get(last_era_length_change): b"sta:lec" => default BlockNumber;
+
+	// The balance of a given account.
+	pub FreeBalanceOf get(free_balance_of): b"sta:bal:" => default map [ AccountId => Balance ];
+
+	// The amount of the balance of a given account that is exterally reserved; this can still get
+	// slashed, but gets slashed last of all.
+	pub ReservedBalanceOf get(reserved_balance_of): b"sta:lbo:" => default map [ AccountId => Balance ];
+
+	// The block at which the `who`'s funds become entirely liquid.
+	pub BondageOf get(bondage_of): b"sta:bon:" => default map [ AccountId => Bondage ];
+
+	// The code associated with an account.
+	pub CodeOf: b"sta:cod:" => default map [ AccountId => Vec<u8> ];	// TODO Vec<u8> values should be optimised to not do a length prefix.
+
+	// The storage items associated with an account/key.
+	pub StorageOf: b"sta:sto:" => map [ (AccountId, Vec<u8>) => Vec<u8> ];	// TODO: keys should also be able to take AsRef<KeyType> to ensure Vec<u8>s can be passed as &[u8]
 }
 
 /// The length of a staking era in blocks.
 pub fn era_length() -> BlockNumber {
-	sessions_per_era() * session::length()
+	SessionsPerEra::get() * session::length()
 }
 
-/// The length of a staking era in sessions.
-pub fn sessions_per_era() -> BlockNumber {
-	storage::get_or_default(SESSIONS_PER_ERA)
-}
-
-/// The current era index.
-pub fn current_era() -> BlockNumber {
-	storage::get_or_default(CURRENT_ERA)
-}
-
-/// The block number at which the era length last changed.
-pub fn last_era_length_change() -> BlockNumber {
-	storage::get_or_default(LAST_ERA_LENGTH_CHANGE)
-}
-
-/// The balance of a given account.
+/// The combined balance of `who`.
 pub fn balance(who: &AccountId) -> Balance {
-	free_balance(who) + reserved_balance(who)
-}
-
-/// The balance of a given account.
-pub fn free_balance(who: &AccountId) -> Balance {
-	storage::get_or_default(&who.to_keyed_vec(BALANCE_OF))
-}
-
-/// The amount of the balance of a given account that is exterally reserved; this can still get
-/// slashed, but gets slashed last of all.
-pub fn reserved_balance(who: &AccountId) -> Balance {
-	storage::get_or_default(&who.to_keyed_vec(RESERVED_BALANCE_OF))
+	FreeBalanceOf::get(who) + ReservedBalanceOf::get(who)
 }
 
 /// Some result as `slash(who, value)` (but without the side-effects) asuming there are no
@@ -112,11 +86,6 @@ pub fn can_slash(who: &AccountId, value: Balance) -> bool {
 	balance(who) >= value
 }
 
-/// The block at which the `who`'s funds become entirely liquid.
-pub fn bondage(who: &AccountId) -> Bondage {
-	storage::get_or_default(&who.to_keyed_vec(BONDAGE_OF))
-}
-
 #[derive(PartialEq, Copy, Clone)]
 #[cfg_attr(test, derive(Debug))]
 pub enum LockStatus {
@@ -127,28 +96,23 @@ pub enum LockStatus {
 
 /// The block at which the `who`'s funds become entirely liquid.
 pub fn unlock_block(who: &AccountId) -> LockStatus {
-	match bondage(who) {
+	match BondageOf::get(who) {
 		i if i == Bondage::max_value() => LockStatus::Staked,
 		i if i <= system::block_number() => LockStatus::Liquid,
 		i => LockStatus::LockedUntil(i),
 	}
 }
 
-/// The total amount of stake on the system.
-pub fn total_stake() -> Balance {
-	storage::get_or(TOTAL_STAKE, 0)
-}
-
 pub struct PublicPass<'a> (&'a AccountId);
 
 const NOBODY: AccountId = [0u8; 32];
 
 impl<'a> PublicPass<'a> {
 	pub fn new(transactor: &AccountId) -> PublicPass {
-		let b = free_balance(&transactor);
-		let transaction_fee = transaction_fee();
+		let b = FreeBalanceOf::get(transactor);
+		let transaction_fee = TransactionFee::get();
 		assert!(b >= transaction_fee, "attempt to transact without enough funds to pay fee");
-		internal::set_free_balance(&transactor, b - transaction_fee);
+		FreeBalanceOf::insert(transactor, b - transaction_fee);
 		PublicPass(transactor)
 	}
 
@@ -199,26 +163,26 @@ impl<'a> public::Dispatch for PublicPass<'a> {
 	///
 	/// Effects will be felt at the beginning of the next era.
 	fn stake(self) {
-		let mut intentions = IntentionStorageVec::items();
+		let mut intentions = Intention::items();
 		// can't be in the list twice.
 		assert!(intentions.iter().find(|&t| *t == *self).is_none(), "Cannot stake if already staked.");
 		intentions.push(self.clone());
-		IntentionStorageVec::set_items(&intentions);
-		storage::put(&self.to_keyed_vec(BONDAGE_OF), &u64::max_value());
+		Intention::set_items(&intentions);
+		BondageOf::insert(*self, u64::max_value());
 	}
 
 	/// Retract the desire to stake for the transactor.
 	///
 	/// Effects will be felt at the beginning of the next era.
 	fn unstake(self) {
-		let mut intentions = IntentionStorageVec::items();
+		let mut intentions = Intention::items();
 		if let Some(position) = intentions.iter().position(|&t| t == *self) {
 			intentions.swap_remove(position);
 		} else {
 			panic!("Cannot unstake if not already staked.");
 		}
-		IntentionStorageVec::set_items(&intentions);
-		storage::put(&self.to_keyed_vec(BONDAGE_OF), &(current_era() + bonding_duration()));
+		Intention::set_items(&intentions);
+		BondageOf::insert(*self, CurrentEra::get() + BondingDuration::get());
 	}
 }
 
@@ -233,17 +197,17 @@ impl_dispatch! {
 impl privileged::Dispatch for democracy::PrivPass {
 	/// Set the number of sessions in an era.
 	fn set_sessions_per_era(self, new: BlockNumber) {
-		storage::put(NEXT_SESSIONS_PER_ERA, &new);
+		NextSessionsPerEra::put(&new);
 	}
 
 	/// The length of the bonding duration in eras.
 	fn set_bonding_duration(self, new: BlockNumber) {
-		storage::put(BONDING_DURATION, &new);
+		BondingDuration::put(&new);
 	}
 
 	/// The length of a staking era in sessions.
 	fn set_validator_count(self, new: u32) {
-		storage::put(VALIDATOR_COUNT, &new);
+		ValidatorCount::put(&new);
 	}
 
 	/// Force there to be a new era. This also forces a new session immediately after.
@@ -254,9 +218,9 @@ impl privileged::Dispatch for democracy::PrivPass {
 }
 
 // Each identity's stake may be in one of three bondage states, given by an integer:
-// - n | n <= current_era(): inactive: free to be transferred.
+// - n | n <= CurrentEra::get(): inactive: free to be transferred.
 // - ~0: active: currently representing a validator.
-// - n | n > current_era(): deactivating: recently representing a validator and not yet
+// - n | n > CurrentEra::get(): deactivating: recently representing a validator and not yet
 //   ready for transfer.
 
 mod private {
@@ -296,15 +260,13 @@ mod private {
 	pub struct DirectExt;
 	impl Externalities for DirectExt {
 		fn get_storage(&self, account: &AccountId, location: &[u8]) -> Option<Vec<u8>> {
-			let mut v = account.to_keyed_vec(STORAGE_OF);
-			v.extend(location);
-			storage::get_raw(&v)
+			StorageOf::get(&(*account, location.to_vec()))
 		}
 		fn get_code(&self, account: &AccountId) -> Vec<u8> {
-			storage::get_raw(&account.to_keyed_vec(CODE_OF)).unwrap_or_default()
+			CodeOf::get(account)
 		}
 		fn get_balance(&self, account: &AccountId) -> Balance {
-			storage::get_or_default::<Balance>(&account.to_keyed_vec(BALANCE_OF))
+			FreeBalanceOf::get(account)
 		}
 	}
 
@@ -327,19 +289,16 @@ mod private {
 	pub fn commit_state(s: State) {
 		for (address, changed) in s.into_iter() {
 			if let Some(balance) = changed.balance {
-				storage::put(&address.to_keyed_vec(BALANCE_OF), &balance);
+				FreeBalanceOf::insert(address, balance);
 			}
 			if let Some(code) = changed.code {
-				storage::put(&address.to_keyed_vec(CODE_OF), &code);
+				CodeOf::insert(&address, &code);
 			}
-			let storage_key = address.to_keyed_vec(STORAGE_OF);
 			for (k, v) in changed.storage.into_iter() {
-				let mut key = storage_key.clone();
-				key.extend(k);
 				if let Some(value) = v {
-					storage::put_raw(&key, &value);
+					StorageOf::insert(&(address, k), &value);
 				} else {
-					storage::kill(&key);
+					StorageOf::remove(&(address, k));
 				}
 			}
 		}
@@ -404,7 +363,7 @@ mod private {
 		assert!(from_balance >= value);
 
 		let to_balance = ext.get_balance(dest);
-		assert!(bondage(transactor) <= bondage(dest));
+		assert!(BondageOf::get(transactor) <= BondageOf::get(dest));
 		assert!(to_balance + value > to_balance);	// no overflow
 
 		// TODO: a fee, based upon gaslimit/gasprice.
@@ -470,17 +429,10 @@ mod private {
 pub mod internal {
 	use super::*;
 
-	/// Set the balance of an account.
-	/// Needless to say, this is super low-level and accordingly dangerous. Ensure any modules that
-	/// use it are auditted to the hilt.
-	pub fn set_free_balance(who: &AccountId, value: Balance) {
-		storage::put(&who.to_keyed_vec(BALANCE_OF), &value);
-	}
-
 	/// Hook to be called after to transaction processing.
 	pub fn check_new_era() {
 		// check block number and call new_era if necessary.
-		if (system::block_number() - last_era_length_change()) % era_length() == 0 {
+		if (system::block_number() - LastEraLengthChange::get()) % era_length() == 0 {
 			new_era();
 		}
 	}
@@ -488,9 +440,9 @@ pub mod internal {
 	/// Deduct from an unbonded balance. true if it happened.
 	pub fn deduct_unbonded(who: &AccountId, value: Balance) -> bool {
 		if let LockStatus::Liquid = unlock_block(who) {
-			let b = free_balance(who);
+			let b = FreeBalanceOf::get(who);
 			if b >= value {
-				set_free_balance(who, b - value);
+				FreeBalanceOf::insert(who, &(b - value));
 				return true;
 			}
 		}
@@ -499,14 +451,14 @@ pub mod internal {
 
 	/// Refund some balance.
 	pub fn refund(who: &AccountId, value: Balance) {
-		set_free_balance(who, free_balance(who) + value)
+		FreeBalanceOf::insert(who, &(FreeBalanceOf::get(who) + value))
 	}
 
 	/// Will slash any balance, but prefer free over reserved.
 	pub fn slash(who: &AccountId, value: Balance) -> bool {
-		let free_balance = free_balance(who);
+		let free_balance = FreeBalanceOf::get(who);
 		let free_slash = cmp::min(free_balance, value);
-		set_free_balance(who, free_balance - free_slash);
+		FreeBalanceOf::insert(who, &(free_balance - free_slash));
 		if free_slash < value {
 			slash_reserved(who, value - free_slash)
 		} else {
@@ -516,63 +468,59 @@ pub mod internal {
 
 	/// Moves `value` from balance to reserved balance.
 	pub fn reserve_balance(who: &AccountId, value: Balance) {
-		let b = free_balance(who);
+		let b = FreeBalanceOf::get(who);
 		assert!(b >= value);
-		set_free_balance(who, b - value);
-		set_reserved_balance(who, reserved_balance(who) + value);
+		FreeBalanceOf::insert(who, &(b - value));
+		ReservedBalanceOf::insert(who, &(ReservedBalanceOf::get(who) + value));
 	}
 
 	/// Moves `value` from reserved balance to balance.
 	pub fn unreserve_balance(who: &AccountId, value: Balance) {
-		let b = reserved_balance(who);
+		let b = ReservedBalanceOf::get(who);
 		let value = cmp::min(b, value);
-		set_reserved_balance(who, b - value);
-		set_free_balance(who, free_balance(who) + value);
+		ReservedBalanceOf::insert(who, &(b - value));
+		FreeBalanceOf::insert(who, &(FreeBalanceOf::get(who) + value));
 	}
 
 	/// Moves `value` from reserved balance to balance.
 	pub fn slash_reserved(who: &AccountId, value: Balance) -> bool {
-		let b = reserved_balance(who);
+		let b = ReservedBalanceOf::get(who);
 		let slash = cmp::min(b, value);
-		set_reserved_balance(who, b - slash);
+		ReservedBalanceOf::insert(who, &(b - slash));
 		value == slash
 	}
 
 	/// Moves `value` from reserved balance to balance.
 	pub fn transfer_reserved_balance(slashed: &AccountId, beneficiary: &AccountId, value: Balance) -> bool {
-		let b = reserved_balance(slashed);
+		let b = ReservedBalanceOf::get(slashed);
 		let slash = cmp::min(b, value);
-		set_reserved_balance(slashed, b - slash);
-		set_free_balance(beneficiary, free_balance(beneficiary) + slash);
+		ReservedBalanceOf::insert(slashed, &(b - slash));
+		FreeBalanceOf::insert(beneficiary, &(FreeBalanceOf::get(beneficiary) + slash));
 		slash == value
 	}
 }
 
-/// Set the reserved portion of `who`'s balance.
-fn set_reserved_balance(who: &AccountId, value: Balance) {
-	storage::put(&who.to_keyed_vec(RESERVED_BALANCE_OF), &value);
-}
-
 /// The era has changed - enact new staking set.
 ///
 /// NOTE: This always happens immediately before a session change to ensure that new validators
 /// get a chance to set their session keys.
 fn new_era() {
 	// Increment current era.
-	storage::put(CURRENT_ERA, &(current_era() + 1));
+	CurrentEra::put(&(CurrentEra::get() + 1));
 
 	// Enact era length change.
-	let next_spe: u64 = storage::get_or_default(NEXT_SESSIONS_PER_ERA);
-	if next_spe > 0 && next_spe != sessions_per_era() {
-		storage::put(SESSIONS_PER_ERA, &next_spe);
-		storage::put(LAST_ERA_LENGTH_CHANGE, &system::block_number());
+	if let Some(next_spe) = NextSessionsPerEra::get() {
+		if next_spe != SessionsPerEra::get() {
+			SessionsPerEra::put(&next_spe);
+			LastEraLengthChange::put(&system::block_number());
+		}
 	}
 
 	// evaluate desired staking amounts and nominations and optimise to find the best
 	// combination of validators, then use session::internal::set_validators().
 	// for now, this just orders would-be stakers by their balances and chooses the top-most
-	// validator_count() of them.
-	let mut intentions = IntentionStorageVec::items()
+	// ValidatorCount::get() of them.
+	let mut intentions = Intention::items()
 		.into_iter()
 		.map(|v| (balance(&v), v))
 		.collect::<Vec<_>>();
@@ -580,7 +528,7 @@ fn new_era() {
 	session::internal::set_validators(
 		&intentions.into_iter()
 			.map(|(_, v)| v)
-			.take(validator_count())
+			.take(ValidatorCount::get() as usize)
 			.collect::<Vec<_>>()
 	);
 }
@@ -597,15 +545,16 @@ pub mod testing {
 
 	pub fn externalities(session_length: u64, sessions_per_era: u64, current_era: u64) -> TestExternalities {
 		let extras: TestExternalities = map![
-			twox_128(INTENTION_COUNT).to_vec() => vec![].and(&3u32),
-			twox_128(&0u32.to_keyed_vec(INTENTION_AT)).to_vec() => Alice.to_raw_public_vec(),
-			twox_128(&1u32.to_keyed_vec(INTENTION_AT)).to_vec() => Bob.to_raw_public_vec(),
-			twox_128(&2u32.to_keyed_vec(INTENTION_AT)).to_vec() => Charlie.to_raw_public_vec(),
-			twox_128(SESSIONS_PER_ERA).to_vec() => vec![].and(&sessions_per_era),
-			twox_128(VALIDATOR_COUNT).to_vec() => vec![].and(&3u64),
-			twox_128(TRANSACTION_FEE).to_vec() => vec![].and(&1u64),
-			twox_128(CURRENT_ERA).to_vec() => vec![].and(&current_era),
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0]
+			twox_128(&Intention::len_key()).to_vec() => vec![].and(&3u32),
+			twox_128(&Intention::key_for(0)).to_vec() => Alice.to_raw_public_vec(),
+			twox_128(&Intention::key_for(1)).to_vec() => Bob.to_raw_public_vec(),
+			twox_128(&Intention::key_for(2)).to_vec() => Charlie.to_raw_public_vec(),
+			twox_128(SessionsPerEra::key()).to_vec() => vec![].and(&sessions_per_era),
+			twox_128(ValidatorCount::key()).to_vec() => vec![].and(&3u64),
+			twox_128(BondingDuration::key()).to_vec() => vec![].and(&0u64),
+			twox_128(TransactionFee::key()).to_vec() => vec![].and(&1u64),
+			twox_128(CurrentEra::key()).to_vec() => vec![].and(&current_era),
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0]
 		];
 		session::testing::externalities(session_length).into_iter().chain(extras.into_iter()).collect()
 	}
@@ -630,25 +579,24 @@ mod tests {
 	#[test]
 	fn staking_should_work() {
 		let mut t: TestExternalities = map![
-			twox_128(session::SESSION_LENGTH).to_vec() => vec![].and(&1u64),
-			twox_128(session::VALIDATOR_COUNT).to_vec() => vec![].and(&2u32),
-			twox_128(&0u32.to_keyed_vec(session::VALIDATOR_AT)).to_vec() => vec![10; 32],
-			twox_128(&1u32.to_keyed_vec(session::VALIDATOR_AT)).to_vec() => vec![20; 32],
-			twox_128(SESSIONS_PER_ERA).to_vec() => vec![].and(&2u64),
-			twox_128(VALIDATOR_COUNT).to_vec() => vec![].and(&2u32),
-			twox_128(BONDING_DURATION).to_vec() => vec![].and(&3u64),
-			twox_128(TOTAL_STAKE).to_vec() => vec![].and(&100u64),
-			twox_128(TRANSACTION_FEE).to_vec() => vec![].and(&0u64),
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![].and(&10u64),
-			twox_128(&Bob.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![].and(&20u64),
-			twox_128(&Charlie.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![].and(&30u64),
-			twox_128(&Dave.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![].and(&40u64)
+			twox_128(session::SessionLength::key()).to_vec() => vec![].and(&1u64),
+			twox_128(session::Validators::key()).to_vec() => vec![].and(&vec![[10u8; 32], [20; 32]]),
+			twox_128(CurrentEra::key()).to_vec() => vec![].and(&0u64),
+			twox_128(SessionsPerEra::key()).to_vec() => vec![].and(&2u64),
+			twox_128(ValidatorCount::key()).to_vec() => vec![].and(&2u32),
+			twox_128(BondingDuration::key()).to_vec() => vec![].and(&3u64),
+			twox_128(TotalStake::key()).to_vec() => vec![].and(&100u64),
+			twox_128(TransactionFee::key()).to_vec() => vec![].and(&0u64),
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![].and(&10u64),
+			twox_128(&FreeBalanceOf::key_for(*Bob)).to_vec() => vec![].and(&20u64),
+			twox_128(&FreeBalanceOf::key_for(*Charlie)).to_vec() => vec![].and(&30u64),
+			twox_128(&FreeBalanceOf::key_for(*Dave)).to_vec() => vec![].and(&40u64)
 		];
 
 		with_externalities(&mut t, || {
 			assert_eq!(era_length(), 2u64);
-			assert_eq!(validator_count(), 2usize);
-			assert_eq!(bonding_duration(), 3u64);
+			assert_eq!(ValidatorCount::get(), 2);
+			assert_eq!(BondingDuration::get(), 3);
 			assert_eq!(session::validators(), vec![[10u8; 32], [20u8; 32]]);
 
 			// Block 1: Add three validators. No obvious change.
@@ -701,76 +649,78 @@ mod tests {
 	#[test]
 	fn staking_eras_work() {
 		let mut t: TestExternalities = map![
-			twox_128(session::SESSION_LENGTH).to_vec() => vec![].and(&1u64),
-			twox_128(SESSIONS_PER_ERA).to_vec() => vec![].and(&2u64)
+			twox_128(session::SessionLength::key()).to_vec() => vec![].and(&1u64),
+			twox_128(SessionsPerEra::key()).to_vec() => vec![].and(&2u64),
+			twox_128(ValidatorCount::key()).to_vec() => vec![].and(&2u32),
+			twox_128(CurrentEra::key()).to_vec() => vec![].and(&0u64)
 		];
 		with_externalities(&mut t, || {
 			assert_eq!(era_length(), 2u64);
-			assert_eq!(sessions_per_era(), 2u64);
-			assert_eq!(last_era_length_change(), 0u64);
-			assert_eq!(current_era(), 0u64);
+			assert_eq!(SessionsPerEra::get(), 2u64);
+			assert_eq!(LastEraLengthChange::get(), 0u64);
+			assert_eq!(CurrentEra::get(), 0u64);
 
 			// Block 1: No change.
 			with_env(|e| e.block_number = 1);
 			check_new_era();
-			assert_eq!(sessions_per_era(), 2u64);
-			assert_eq!(last_era_length_change(), 0u64);
-			assert_eq!(current_era(), 0u64);
+			assert_eq!(SessionsPerEra::get(), 2u64);
+			assert_eq!(LastEraLengthChange::get(), 0u64);
+			assert_eq!(CurrentEra::get(), 0u64);
 
 			// Block 2: Simple era change.
 			with_env(|e| e.block_number = 2);
 			check_new_era();
-			assert_eq!(sessions_per_era(), 2u64);
-			assert_eq!(last_era_length_change(), 0u64);
-			assert_eq!(current_era(), 1u64);
+			assert_eq!(SessionsPerEra::get(), 2u64);
+			assert_eq!(LastEraLengthChange::get(), 0u64);
+			assert_eq!(CurrentEra::get(), 1u64);
 
 			// Block 3: Schedule an era length change; no visible changes.
 			with_env(|e| e.block_number = 3);
 			PrivPass::test().set_sessions_per_era(3);
 			check_new_era();
-			assert_eq!(sessions_per_era(), 2u64);
-			assert_eq!(last_era_length_change(), 0u64);
-			assert_eq!(current_era(), 1u64);
+			assert_eq!(SessionsPerEra::get(), 2u64);
+			assert_eq!(LastEraLengthChange::get(), 0u64);
+			assert_eq!(CurrentEra::get(), 1u64);
 
 			// Block 4: Era change kicks in.
 			with_env(|e| e.block_number = 4);
 			check_new_era();
-			assert_eq!(sessions_per_era(), 3u64);
-			assert_eq!(last_era_length_change(), 4u64);
-			assert_eq!(current_era(), 2u64);
+			assert_eq!(SessionsPerEra::get(), 3u64);
+			assert_eq!(LastEraLengthChange::get(), 4u64);
+			assert_eq!(CurrentEra::get(), 2u64);
 
 			// Block 5: No change.
 			with_env(|e| e.block_number = 5);
 			check_new_era();
-			assert_eq!(sessions_per_era(), 3u64);
-			assert_eq!(last_era_length_change(), 4u64);
-			assert_eq!(current_era(), 2u64);
+			assert_eq!(SessionsPerEra::get(), 3u64);
+			assert_eq!(LastEraLengthChange::get(), 4u64);
+			assert_eq!(CurrentEra::get(), 2u64);
 
 			// Block 6: No change.
 			with_env(|e| e.block_number = 6);
 			check_new_era();
-			assert_eq!(sessions_per_era(), 3u64);
-			assert_eq!(last_era_length_change(), 4u64);
-			assert_eq!(current_era(), 2u64);
+			assert_eq!(SessionsPerEra::get(), 3u64);
+			assert_eq!(LastEraLengthChange::get(), 4u64);
+			assert_eq!(CurrentEra::get(), 2u64);
 
 			// Block 7: Era increment.
 			with_env(|e| e.block_number = 7);
 			check_new_era();
-			assert_eq!(sessions_per_era(), 3u64);
-			assert_eq!(last_era_length_change(), 4u64);
-			assert_eq!(current_era(), 3u64);
+			assert_eq!(SessionsPerEra::get(), 3u64);
+			assert_eq!(LastEraLengthChange::get(), 4u64);
+			assert_eq!(CurrentEra::get(), 3u64);
 		});
 	}
 
 	#[test]
 	fn staking_balance_works() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 42);
-			assert_eq!(free_balance(&Alice), 42);
-			assert_eq!(reserved_balance(&Alice), 0);
+			FreeBalanceOf::insert(*Alice, 42);
+			assert_eq!(FreeBalanceOf::get(*Alice), 42);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 0);
 			assert_eq!(balance(&Alice), 42);
-			assert_eq!(free_balance(&Bob), 0);
-			assert_eq!(reserved_balance(&Bob), 0);
+			assert_eq!(FreeBalanceOf::get(*Bob), 0);
+			assert_eq!(ReservedBalanceOf::get(*Bob), 0);
 			assert_eq!(balance(&Bob), 0);
 		});
 	}
@@ -778,7 +728,7 @@ mod tests {
 	#[test]
 	fn staking_balance_transfer_works() {
 		with_externalities(&mut testing::externalities(1, 3, 1), || {
-			set_free_balance(&Alice, 112);
+			FreeBalanceOf::insert(*Alice, 112);
 			PublicPass::new(&Alice).transfer(Bob.to_raw_public(), 69);
 			assert_eq!(balance(&Alice), 42);
 			assert_eq!(balance(&Bob), 69);
@@ -789,7 +739,7 @@ mod tests {
 	#[should_panic]
 	fn staking_balance_transfer_when_bonded_panics() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			PublicPass::new(&Alice).stake();
 			PublicPass::new(&Alice).transfer(Bob.to_raw_public(), 69);
 		});
@@ -798,17 +748,17 @@ mod tests {
 	#[test]
 	fn reserving_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 
 			assert_eq!(balance(&Alice), 111);
-			assert_eq!(free_balance(&Alice), 111);
-			assert_eq!(reserved_balance(&Alice), 0);
+			assert_eq!(FreeBalanceOf::get(*Alice), 111);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 0);
 
 			reserve_balance(&Alice, 69);
 
 			assert_eq!(balance(&Alice), 111);
-			assert_eq!(free_balance(&Alice), 42);
-			assert_eq!(reserved_balance(&Alice), 69);
+			assert_eq!(FreeBalanceOf::get(*Alice), 42);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 69);
 		});
 	}
 
@@ -816,7 +766,7 @@ mod tests {
 	#[should_panic]
 	fn staking_balance_transfer_when_reserved_panics() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			reserve_balance(&Alice, 69);
 			PublicPass::new(&Alice).transfer(Bob.to_raw_public(), 69);
 		});
@@ -825,17 +775,17 @@ mod tests {
 	#[test]
 	fn deducting_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			assert!(deduct_unbonded(&Alice, 69));
-			assert_eq!(free_balance(&Alice), 42);
+			assert_eq!(FreeBalanceOf::get(*Alice), 42);
 		});
 	}
 
 	#[test]
 	fn deducting_balance_should_fail_when_bonded() {
 		let mut t: TestExternalities = map![
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BALANCE_OF)).to_vec() => vec![].and(&111u64),
-			twox_128(&Alice.to_raw_public().to_keyed_vec(BONDAGE_OF)).to_vec() => vec![].and(&2u64)
+			twox_128(&FreeBalanceOf::key_for(*Alice)).to_vec() => vec![].and(&111u64),
+			twox_128(&BondageOf::key_for(*Alice)).to_vec() => vec![].and(&2u64)
 		];
 		with_externalities(&mut t, || {
 			with_env(|e| e.block_number = 1);
@@ -847,90 +797,90 @@ mod tests {
 	#[test]
 	fn refunding_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 42);
+			FreeBalanceOf::insert(*Alice, 42);
 			refund(&Alice, 69);
-			assert_eq!(free_balance(&Alice), 111);
+			assert_eq!(FreeBalanceOf::get(*Alice), 111);
 		});
 	}
 
 	#[test]
 	fn slashing_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			reserve_balance(&Alice, 69);
 			assert!(slash(&Alice, 69));
-			assert_eq!(free_balance(&Alice), 0);
-			assert_eq!(reserved_balance(&Alice), 42);
+			assert_eq!(FreeBalanceOf::get(*Alice), 0);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 42);
 		});
 	}
 
 	#[test]
 	fn slashing_incomplete_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 42);
+			FreeBalanceOf::insert(*Alice, 42);
 			reserve_balance(&Alice, 21);
 			assert!(!slash(&Alice, 69));
-			assert_eq!(free_balance(&Alice), 0);
-			assert_eq!(reserved_balance(&Alice), 0);
+			assert_eq!(FreeBalanceOf::get(*Alice), 0);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 0);
 		});
 	}
 
 	#[test]
 	fn unreserving_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			reserve_balance(&Alice, 111);
 			unreserve_balance(&Alice, 42);
-			assert_eq!(reserved_balance(&Alice), 69);
-			assert_eq!(free_balance(&Alice), 42);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 69);
+			assert_eq!(FreeBalanceOf::get(*Alice), 42);
 		});
 	}
 
 	#[test]
 	fn slashing_reserved_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			reserve_balance(&Alice, 111);
 			assert!(slash_reserved(&Alice, 42));
-			assert_eq!(reserved_balance(&Alice), 69);
-			assert_eq!(free_balance(&Alice), 0);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 69);
+			assert_eq!(FreeBalanceOf::get(*Alice), 0);
 		});
 	}
 
 	#[test]
 	fn slashing_incomplete_reserved_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			reserve_balance(&Alice, 42);
 			assert!(!slash_reserved(&Alice, 69));
-			assert_eq!(free_balance(&Alice), 69);
-			assert_eq!(reserved_balance(&Alice), 0);
+			assert_eq!(FreeBalanceOf::get(*Alice), 69);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 0);
 		});
 	}
 
 	#[test]
 	fn transferring_reserved_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			reserve_balance(&Alice, 111);
 			assert!(transfer_reserved_balance(&Alice, &Bob, 42));
-			assert_eq!(reserved_balance(&Alice), 69);
-			assert_eq!(free_balance(&Alice), 0);
-			assert_eq!(reserved_balance(&Bob), 0);
-			assert_eq!(free_balance(&Bob), 42);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 69);
+			assert_eq!(FreeBalanceOf::get(*Alice), 0);
+			assert_eq!(ReservedBalanceOf::get(*Bob), 0);
+			assert_eq!(FreeBalanceOf::get(*Bob), 42);
 		});
 	}
 
 	#[test]
 	fn transferring_incomplete_reserved_balance_should_work() {
 		with_externalities(&mut TestExternalities::default(), || {
-			set_free_balance(&Alice, 111);
+			FreeBalanceOf::insert(*Alice, 111);
 			reserve_balance(&Alice, 42);
 			assert!(!transfer_reserved_balance(&Alice, &Bob, 69));
-			assert_eq!(reserved_balance(&Alice), 0);
-			assert_eq!(free_balance(&Alice), 69);
-			assert_eq!(reserved_balance(&Bob), 0);
-			assert_eq!(free_balance(&Bob), 42);
+			assert_eq!(ReservedBalanceOf::get(*Alice), 0);
+			assert_eq!(FreeBalanceOf::get(*Alice), 69);
+			assert_eq!(ReservedBalanceOf::get(*Bob), 0);
+			assert_eq!(FreeBalanceOf::get(*Bob), 42);
 		});
 	}
 }
diff --git a/substrate/demo/runtime/src/runtime/system.rs b/substrate/demo/runtime/src/runtime/system.rs
index e3a6e19ef51..5469d6aa9bf 100644
--- a/substrate/demo/runtime/src/runtime/system.rs
+++ b/substrate/demo/runtime/src/runtime/system.rs
@@ -21,7 +21,7 @@ use rstd::prelude::*;
 use rstd::mem;
 use runtime_io::{print, storage_root, enumerated_trie_root};
 use codec::{KeyedVec, Slicable};
-use runtime_support::{Hashable, storage};
+use runtime_support::{Hashable, storage, StorageValue, StorageMap};
 use environment::with_env;
 use demo_primitives::{AccountId, Hash, TxOrder, BlockNumber, Header, Log};
 use block::Block;
@@ -30,9 +30,12 @@ use runtime::{staking, session};
 use runtime::democracy::PrivPass;
 use dispatch;
 
-pub const NONCE_OF: &[u8] = b"sys:non:";
-pub const BLOCK_HASH_AT: &[u8] = b"sys:old:";
-pub const CODE: &[u8] = b"sys:cod";
+storage_items! {
+	pub Nonce: b"sys:non" => default map [ AccountId => TxOrder ];
+	pub BlockHashAt: b"sys:old" => required map [ BlockNumber => Hash ];
+}
+
+pub const CODE: &'static[u8] = b":code";
 
 
 /// The current block number being processed. Set by `execute_block`.
@@ -40,11 +43,6 @@ pub fn block_number() -> BlockNumber {
 	with_env(|e| e.block_number)
 }
 
-/// Get the block hash of a given block (uses storage).
-pub fn block_hash(number: BlockNumber) -> Hash {
-	storage::get_or_default(&number.to_keyed_vec(BLOCK_HASH_AT))
-}
-
 impl_dispatch! {
 	pub mod privileged;
 	fn set_code(new: Vec<u8>) = 0;
@@ -145,12 +143,11 @@ fn execute_transaction(utx: UncheckedTransaction) {
 
 	{
 		// check nonce
-		let nonce_key = tx.signed.to_keyed_vec(NONCE_OF);
-		let expected_nonce: TxOrder = storage::get_or(&nonce_key, 0);
+		let expected_nonce: TxOrder = Nonce::get(&tx.signed);
 		assert!(tx.nonce == expected_nonce, "All transactions should have the correct nonce");
 
 		// increment nonce in storage
-		storage::put(&nonce_key, &(expected_nonce + 1));
+		Nonce::insert(&tx.signed, &(expected_nonce + 1));
 	}
 
 	// decode parameters and dispatch
@@ -163,7 +160,7 @@ fn initial_checks(block: &Block) {
 
 	// check parent_hash is correct.
 	assert!(
-		header.number > 0 && block_hash(header.number - 1) == header.parent_hash,
+		header.number > 0 && BlockHashAt::get(&(header.number - 1)) == header.parent_hash,
 		"Parent hash should be valid."
 	);
 
@@ -192,7 +189,7 @@ fn final_checks(block: &Block) {
 fn post_finalise(header: &Header) {
 	// store the header hash in storage; we can't do it before otherwise there would be a
 	// cyclic dependency.
-	storage::put(&header.number.to_keyed_vec(BLOCK_HASH_AT), &header.blake2_256());
+	BlockHashAt::insert(&header.number, &header.blake2_256().into());
 }
 
 #[cfg(feature = "std")]
@@ -220,7 +217,7 @@ pub mod testing {
 
 	pub fn externalities() -> TestExternalities {
 		map![
-			twox_128(&0u64.to_keyed_vec(BLOCK_HASH_AT)).to_vec() => [69u8; 32].encode()
+			twox_128(&BlockHashAt::key_for(&0)).to_vec() => [69u8; 32].encode()
 		]
 	}
 }
@@ -231,6 +228,7 @@ mod tests {
 	use super::internal::*;
 
 	use runtime_io::{with_externalities, twox_128, TestExternalities};
+	use runtime_support::StorageValue;
 	use codec::{Joiner, KeyedVec, Slicable};
 	use keyring::Keyring::*;
 	use environment::with_env;
@@ -244,8 +242,8 @@ mod tests {
 	#[test]
 	fn staking_balance_transfer_dispatch_works() {
 		let mut t: TestExternalities = map![
-			twox_128(&One.to_raw_public().to_keyed_vec(staking::BALANCE_OF)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0],
-			twox_128(staking::TRANSACTION_FEE).to_vec() => vec![10u8, 0, 0, 0, 0, 0, 0, 0]
+			twox_128(&staking::FreeBalanceOf::key_for(*One)).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0],
+			twox_128(staking::TransactionFee::key()).to_vec() => vec![10u8, 0, 0, 0, 0, 0, 0, 0]
 		];
 
 		let tx = UncheckedTransaction {
@@ -275,7 +273,7 @@ mod tests {
 		let h = Header {
 			parent_hash: [69u8; 32].into(),
 			number: 1,
-			state_root: hex!("584e0c1f4d4b96153591e3906d756762493dffeb5fa7159e7107014aec8d9c3d").into(),
+			state_root: hex!("cc3f1f5db826013193e502c76992b5e933b12367e37a269a9822b89218323e9f").into(),
 			transaction_root: hex!("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421").into(),
 			digest: Digest { logs: vec![], },
 		};
diff --git a/substrate/demo/runtime/src/runtime/timestamp.rs b/substrate/demo/runtime/src/runtime/timestamp.rs
index ff2c18b9bd4..ed51ebabc72 100644
--- a/substrate/demo/runtime/src/runtime/timestamp.rs
+++ b/substrate/demo/runtime/src/runtime/timestamp.rs
@@ -16,16 +16,13 @@
 
 //! Timestamp manager: just handles the current timestamp.
 
-use runtime_support::storage;
+use runtime_support::storage::StorageValue;
 use runtime::staking::PublicPass;
 
 pub type Timestamp = u64;
 
-pub const CURRENT_TIMESTAMP: &[u8] = b"tim:val";
-
-/// Get the current time.
-pub fn get() -> Timestamp {
-	storage::get_or_default(CURRENT_TIMESTAMP)
+storage_items! {
+	pub Now: b"tim:val" => required Timestamp;
 }
 
 impl_dispatch! {
@@ -36,7 +33,7 @@ impl_dispatch! {
 impl<'a> public::Dispatch for PublicPass<'a> {
 	/// Set the current time.
 	fn set(self, now: Timestamp) {
-		storage::put(CURRENT_TIMESTAMP, &now);
+		Now::put(&now);
 	}
 }
 
@@ -46,6 +43,7 @@ mod tests {
 	use super::public::*;
 
 	use runtime_io::{with_externalities, twox_128, TestExternalities};
+	use runtime_support::storage::StorageValue;
 	use runtime::timestamp;
 	use codec::{Joiner, KeyedVec};
 	use demo_primitives::AccountId;
@@ -54,13 +52,13 @@ mod tests {
 	#[test]
 	fn timestamp_works() {
 		let mut t: TestExternalities = map![
-			twox_128(CURRENT_TIMESTAMP).to_vec() => vec![].and(&42u64)
+			twox_128(Now::key()).to_vec() => vec![].and(&42u64)
 		];
 
 		with_externalities(&mut t, || {
-			assert_eq!(get(), 42);
+			assert_eq!(Now::get(), 42);
 			PublicPass::nobody().set(69);
-			assert_eq!(get(), 69);
+			assert_eq!(Now::get(), 69);
 		});
 	}
 }
diff --git a/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm b/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm
index 8d4177558c879383d18ca9954e22d0c54b394113..00854daf6fc89be40cfe268dfed20d17bb68e871 100644
GIT binary patch
literal 156861
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
POY{$t7oot2?sNKI>HZNO

literal 160453
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

diff --git a/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm b/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm
index 43f146e82f7b5fed169d463fa837a22d4712c589..b033a3c8809c99b3a5aa7d2d45948d9e184d34fb 100644
GIT binary patch
literal 156912
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
D4#FSr

literal 160504
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
A?*IS*

diff --git a/substrate/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm b/substrate/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm
index 68f8fe0114541bf47fc02b224d5c1450d506c2ed..7072339a0712581faa3d0d6c6370673df0ff70de 100644
GIT binary patch
delta 1426
zcmcgsT})J05WaJFWtUxD)_|~~R#=T7N*Cd7rCLqg8dHr5iB@GzXrL6+qQoi+4^3L6
z<pCjxJ%Q7$ZbeOqwXJM=B-fv)ZCq;5>sHfP713@|VzOE#KB@7qGY6!r(U(5->6`iP
zd^2Ze&bcRp){{YNC`C1?s!61&lg!{}vl5nqUwo0!Vu3JoI^3{Y{Fb&r6<eHsi?nww
zQllEHE;~r@dU>h6Q}b!g0>$p@)L3JAi0Hx(VyJdke1(qasaR`{4-#1)T?C5CTQ^Ni
zt+J9W^42|o_#mcLpCSHfby&tet<Dv9HzYqFleF;|#TXk?%#<(E>|xH@*RXPKZS%i`
zl?~OVBWbHUFhYvKx}7FcZvFI6sVr;oh_?DfSqW{{R&QbFx3*G9SwpY-Ot!MIPs%cz
zejrXnnk#LXczz(A6?I%dE0Z@-?Dsr?&cd(19d>e<BakoS?n7A2{-#K+iksQ!@cxT2
znB#mCCx2)dUY3>J-Ib<xYRnc)M-W-T;|WkA2KPDaCjVG7E9{=aT-|=ORdyqEjrIQI
z6^)_K5+TaWM>U9ww~pRQre3E;T2)HWbN;&Qz5VyXF_brQIU8Fm>EA)U-s)e#j4Nx2
z_x4YT=eLoz?&=$I#9af6@Y~Qp18KSjJYvtanEko!x5pTLn||{{(zV^prn$2tx6hE<
zcxPcEy27~ko?OS|hx_FnG9Gow^u{BXXnC@dj@kYf#1QldKr#7xh8Z$Q#OGV!ArbSe
zkVY!LDp3-Ag$=5};3sU*hcv@vtmTPIKVpaPROBlhAn*{nD+!YEiSXQ1<cH(*p;S0*
zgA#qe8ye_d@!Tx9LWsp&dPX)hrJ$4_cpJ75y5~a0=c79d7syqP`u~H0w<qrUDDnyG
z$@3tPM29}ORCdNE7Qqbu<ud3X5}i+6uR0pHlmb0@eP<~Yo2bRV%U}-?+sh%<Ok?XT
zf{z{gkChNu1BU+Y&u|!r+HneklzjIo*oz~6Ck$O9u7|sNp#Zrhz3>=e@vmT{jFyjj
zeeRJz56?LbJya=r8kWd?qLHt^-v`@O+|r%1K#!5P8gP{mKYH}QIk-f3LEm%%ip`#9
zX`RdEAYOQmFS7d3MVLElj8?OG!zNxgPR-AZYIc{Bt|&7UMVW~>9<dk{Wdfq&tM~F>
j?m?a!^78KcFd-@IwOeZ{Yv$CJub-p%4E>L>Y7G7XO2q7=

delta 1420
zcmcgsZA_C_6n@X!3Z>Oj144%%*coBWS|aVl&&2wXxu`VJIb?|oh!}?wher6ZWK)zM
z2*K(NTs!TiThjQk2-%ffb=hPQG`OzT7!?txiNvHDMStny*Uq^hR^u;!`0F|6dCzms
zJ?Gr}o(h^y1x>A~y1}69B3&P6ghDnoVKEenZ3zvD5M?&216GLh>GO24*;bUO?0pOM
zsE1V)A0-%DveM%Bc-^)<&EoZYSZzrw(fO-lsCJa@Mn|-jt}(_3iLAAkfTD8OeIzE9
zo5&Wq>;8lIAm*+(NBoP54i)>N!YLkZNO?Ubx$<|430I~XDPN@C#cWlhv9hzO{uN<j
z{Z$!AnyU{FlA^DAuYr_XzrCT9#WgPB-;$&%q0RhT5?OR>BZU;#bm}i<%WJ!oY<%6X
z#ED3KnHdw$31qN><_l<z=XDf&ga^=Bu;<4CCx=-BQ&ikzh>Gby6zJt~GaDM-yBK{r
zwoh>K#|GeSS=qyV>AK&;%)tx<krn(S0g6Q5FIJ18aJZ4>w@hI6mLjxucDwaD>-^0l
zYFoccg8j^R(hd8?w3ByJsMm>+Mx7G0MgLX3H(kshMtLLM+1T2Oo?X=I-JW?Ye02@+
zo}LNu{0`DqUz@B(9O_+&-}-xNNE7OHi38VTme;o56l3)5<2$QK=f9Ipb7v>+og=sQ
z{(>ZQMflO@Y8@XwIjHVX_-RO`4?newhUd%am`%4Jh9DyVKJsOz5i&`{=On@tB4(Q)
zomBjbBt`ILW+;bl{-+tbkY<>SH9WV=6Ban6BVTF-frpUxWJtj$!kuZz55&p-G&pXC
zB6-jOHFU4IGYhT~VllhS%!ayDl=8zfVKbp)7L<NJw6l&pwaOv?Js5a<;;xUTp0G@r
z4S{4j^wGttGd`vOCh_e{pqWT?zDa%C(d7I>_}a=t1>naxIn4(?12tK<6b=yKTn1^z
zgaM^IQU-g!gl_q1I~>QMHlKzdCI9I({EQ=>+X10L*TwCfkcZr&PI!j!*%=7GDu2`C
zbqxM_c+Od9qdGUw!XmX#G^WU}x?rb{Te|-@&|~C{VYo(!A6+u=4_u+UAU9qBpV9TQ
zE89{vh&P_&o2=}=1hb}&wYPtuX_GWfdw@6+(Fd9~3Q_a6yZK*_AXk6j<}Ht56b++t
cgr1)q^;k@s$~MiYDp@~6^LES2!}S>a51Rnx4gdfE

diff --git a/substrate/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/substrate/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm
index 06caf6119bea69b895da6b8f025f0147d66db725..57be0867032a5e1ffdb5b49e77ebcd77c8ceaa5a 100644
GIT binary patch
delta 1454
zcmbVMZA_C_6n@X!3N4)l0)>Xn2%3x$T?f7$8gZEox=5zrx6-W%9Unp5*bs+gTc#2}
zf|wb+y1UNRF*QaPqv%y$<3gsfutB;-wrmUm?T^KzEK`5^F|FM>7tpGSKm7Ha^W5`s
z&&Rzt{id6KQ@c$ysH#EO)j}h<*}HKI!7Yx)?Tm*2%eQ91YO&h-jafpWDrRL=yrqUT
zw!iE+L9y3kY13R<lBQT(Z5r$Fwi8|bUKqWXmhVPITr00K#u|xL)qen4m92e6tgJDS
zEXvm2g;*n2@j)-~xwQdln_D|wO!+9~ahthyKafqNF4ai!qAd>QYIqSddm38C3HydA
zNEB@NevA;d#(f6zI`!#Q>DAig5EnL?Wfqj#f1CHxacfhTI_|P<YmanU(tM0K5pAhV
zz@T-$47TyhK9rX5X0jdPK2#dM+CQq~us3~q((VofM9tU5>c*H}J#5<Z2!H1!<zvTB
zkHWK}=D3pOaHOeG4ynMOp|)vamA^9%N`>u^)nahJU}V)Nrm~_Fr6{W`{p2vab;>C^
z+CMi#h`oMJgOFHr?w=GYf90=Vs1)GZr7N->-M`PAfI5r*m5tRlUv8!HUm7fAk%21W
zD=$xt<#&+pk-=AG$NPsC;92Hy6Z!NHImB<nVasES&>d!U_RdHJ`CS;vrctnwe|t&o
zxIW*Es)*cPPBgEJhZIqDZ?D{`$o<1IN94X;bUs)?cjc)7VMIL&P(p;h*a(xyUGEW5
zYl3ug<J-+Z1mBVXH4x-C5}*fFhS6B(1G_$Afukz&d#oVvDtb{Oq~M$3o;2h~?exra
zIGX^a`al*m(Xw&R%P>HQ_q6Mav!OW^UHM=Ed`!4>4wOGyk-!W&<7W-`(aU?DC3-qC
zu2sxlDe_J0^WFeoB3=6GLRlH1jeolcj*XF0N#l*hFyH=k%u$BV@&Nq?de8$U1}b)v
z7rrCnycg1p)WE)CSYy?%RD#b9LA~)joTc{WT?9YnxpWZ@pjsb*!(*z07j?l5<UZ?y
z2*M}b5KMiTKjd^}jr~g8{S%y_RLMWX+j6uh<mtP5V3&#mn;Zmsu>8j$3=-m@L+||s
z`e`lngMCn9bc}~hS|)q)M7N)0^~^tEPW}X~e*K5*_>qZfUS>$M*p&=LnWiX8E@Cob
s2`GvUQE_c@^4ci8rnWnI=nmKt15S&nzOsIHgZKT}iYutcPgKM3KNDN_`2YX_

delta 1454
zcmb_ce@xV682>)syWoz~0|o~d)dbxnrd{Hl)Wl{t(#29vu>`5xAbt$6Fd~sz%Vd=!
znjXH{E9xozn9Jr8eU;bYSU7=#Q9Ek|2&8{Bx1(wNRhFLT^SnTwuK9=aug~**-skf^
z@AKpPo%EX~{ib%CZZPP&u<JQSC}giht%5>vB<ka62(T<`8f*}S)&ph*Il6c{rEH}h
zaIu5M-w@=Lcr8Ac+ZpH7EN-8Rb(FLdUHNJd)%m5n(GizRD~yprqM-5@ps3=FkBjxy
zCbC8G#(y9(h?TuQK>VVb9u>Q&W}%q-M#7yj&(@xym{4t^k?spOJD9uv5zOqZZ=NCS
zTjnB>z2)m^Lf9Ji8%TBH?Tbp)(&!Lp-!rQ$XtRH}@1f(C#$J6!^5F;lO0u@;C~+d(
zTpoj$*0!dwZJ(Y;Yb|f0*fHLUPW|44Q%(k3-kPc6u0cRl@5|G-MfB>wrrnS6dq!Lq
zcKqZN+~d}^40pU5jtVuZA!Ykhbe~HU_`9N@NZ7u#S`3A=jI8q5JeGTG1KK)EK0eO=
zI^hx>?eChQjV<YPLYt`S{3C(NU;pDyoi4Z>_)WE=@8_o;LZ5|))3Ms73oTUsqoX-2
zG*Ur)`Gt9r{70nyYV--!@u9Kj@ho+`ku*bN4)N1?&~nEj^aUB6y*yDyy0a7MGzvCx
zWq{m{t1HatiqPLL63uI)Awg7J-=lUabmOqf5xQX)T{mB%xAH`QAfgNdc!-c|j4)?L
zdYy<G6C{(2?=S-q{QVfHhGG6^4D_SR@HW<U(=I10a70J`6DtUOip-6L1pH>WHwpQv
zIGLIZr(>W<j-){&EgSdFhY>=2r(Lc|ho(f7^3iPAOqjn6N^h@7&tf&>dkpu1AK_X>
z?3JdzY5CkU&>BmRzPL(NMrh-QR>RS0QaMSyArDq0{@;`2<^rg)@}WHNp+Z)9z+<3t
zJM-Z)BE0J$$rv@Ilw;+vzX*n9LpPkJ_GX>~KjjIWgU`{e>w&}5u7l_H!eZp!>4gx&
z);<`#o&S={oi_bf;zi%VDM}RoJ-nbsi$<p0)epOL9N3&epbwURI|!qMc<7J=Kfn;J
zh5X_?c#Mvjvf|dMp4|1x-p$I?Utw9+WA^TcHEn^WX_JWYh#t^18=~g!cJi7qJgHAQ
r`K4=MGx=N=XWd(GZsH}g^vu|R%VMf4uUlGQ^4e0(JuIVV>p{2$f0^<p

diff --git a/substrate/substrate/runtime-support/src/lib.rs b/substrate/substrate/runtime-support/src/lib.rs
index 6e946ce6c79..b3aea78cbc6 100644
--- a/substrate/substrate/runtime-support/src/lib.rs
+++ b/substrate/substrate/runtime-support/src/lib.rs
@@ -29,5 +29,5 @@ pub use self::storage::generator::Storage as GenericStorage;
 pub mod storage;
 mod hashable;
 
-pub use self::storage::StorageVec;
+pub use self::storage::{StorageVec, StorageList, StorageValue, StorageMap};
 pub use self::hashable::Hashable;
diff --git a/substrate/substrate/runtime-support/src/storage/generator.rs b/substrate/substrate/runtime-support/src/storage/generator.rs
index ce02a4e0992..b77b58d4181 100644
--- a/substrate/substrate/runtime-support/src/storage/generator.rs
+++ b/substrate/substrate/runtime-support/src/storage/generator.rs
@@ -36,7 +36,7 @@
 //!
 //! storage_items! {
 //!     // public value
-//!     pub Value: b"stored_key" => SessionKey;
+//!     pub Value: b"putd_key" => SessionKey;
 //!     // private map.
 //!     Balances: b"private_map:" => map [AuthorityId => Balance];
 //!     // private list.
@@ -48,38 +48,73 @@
 
 use codec;
 use rstd::vec::Vec;
+#[doc(hidden)]
+pub use rstd::borrow::Borrow;
 
 /// Abstraction around storage.
 pub trait Storage {
+	/// true if the key exists in storage.
+	fn exists(&self, key: &[u8]) -> bool;
+
 	/// Load the bytes of a key from storage. Can panic if the type is incorrect.
-	fn load<T: codec::Slicable>(&self, key: &[u8]) -> Option<T>;
+	fn get<T: codec::Slicable>(&self, key: &[u8]) -> Option<T>;
+
+	/// Load the bytes of a key from storage. Can panic if the type is incorrect. Will panic if
+	/// it's not there.
+	fn require<T: codec::Slicable>(&self, key: &[u8]) -> T { self.get(key).expect("Required values must be in storage") }
+
+	/// Load the bytes of a key from storage. Can panic if the type is incorrect. The type's
+	/// default is returned if it's not there.
+	fn get_or_default<T: codec::Slicable + Default>(&self, key: &[u8]) -> T { self.get(key).unwrap_or_default() }
 
 	/// Put a value in under a key.
-	fn store<T: codec::Slicable>(&self, key: &[u8], val: &T);
+	fn put<T: codec::Slicable>(&self, key: &[u8], val: &T);
 
 	/// Remove the bytes of a key from storage.
 	fn kill(&self, key: &[u8]);
 
 	/// Take a value from storage, deleting it after reading.
 	fn take<T: codec::Slicable>(&self, key: &[u8]) -> Option<T> {
-		let value = self.load(key);
+		let value = self.get(key);
 		self.kill(key);
 		value
 	}
+
+	/// Take a value from storage, deleting it after reading.
+	fn take_or_panic<T: codec::Slicable>(&self, key: &[u8]) -> T { self.take(key).expect("Required values must be in storage") }
+
+	/// Take a value from storage, deleting it after reading.
+	fn take_or_default<T: codec::Slicable + Default>(&self, key: &[u8]) -> T { self.take(key).unwrap_or_default() }
 }
 
 /// A strongly-typed value kept in storage.
 pub trait StorageValue<T: codec::Slicable> {
+	/// The type that get/take returns.
+	type Query;
+
 	/// Get the storage key.
 	fn key() -> &'static [u8];
+
+	/// true if the value is defined in storage.
+	fn exists<S: Storage>(storage: &S) -> bool {
+		storage.exists(Self::key())
+	}
+
 	/// Load the value from the provided storage instance.
-	fn load<S: Storage>(storage: &S) -> Option<T>;
+	fn get<S: Storage>(storage: &S) -> Self::Query;
+
+	/// Take a value from storage, removing it afterwards.
+	fn take<S: Storage>(storage: &S) -> Self::Query;
+
 	/// Store a value under this key into the provded storage instance.
-	fn store<S: Storage>(val: &T, storage: &S);
+	fn put<S: Storage>(val: &T, storage: &S) {
+		storage.put(Self::key(), val)
+	}
+
 	/// Clear the storage value.
-	fn kill<S: Storage>(storage: &S);
-	/// Take a value from storage, removing it afterwards.
-	fn take<S: Storage>(storage: &S) -> Option<T>;
+	fn kill<S: Storage>(storage: &S) {
+		storage.kill(Self::key())
+	}
 }
 
 /// A strongly-typed list in storage.
@@ -87,7 +122,7 @@ pub trait StorageList<T: codec::Slicable> {
 	/// Get the prefix key in storage.
 	fn prefix() -> &'static [u8];
 
-	/// Get the key used to store the length field.
+	/// Get the key used to put the length field.
 	fn len_key() -> Vec<u8>;
 
 	/// Get the storage key used to fetch a value at a given index.
@@ -114,225 +149,119 @@ pub trait StorageList<T: codec::Slicable> {
 
 /// A strongly-typed map in storage.
 pub trait StorageMap<K: codec::Slicable, V: codec::Slicable> {
+	/// The type that get/take returns.
+	type Query;
+
 	/// Get the prefix key in storage.
 	fn prefix() -> &'static [u8];
 
 	/// Get the storage key used to fetch a value corresponding to a specific key.
 	fn key_for(x: &K) -> Vec<u8>;
 
+	/// true if the value is defined in storage.
+	fn exists<S: Storage>(key: &K, storage: &S) -> bool {
+		storage.exists(&Self::key_for(key)[..])
+	}
+
 	/// Load the value associated with the given key from the map.
-	fn get<S: Storage>(key: &K, storage: &S) -> Option<V>;
+	fn get<S: Storage>(key: &K, storage: &S) -> Self::Query;
+
+	/// Take the value under a key.
+	fn take<S: Storage>(key: &K, storage: &S) -> Self::Query;
 
 	/// Store a value to be associated with the given key from the map.
-	fn insert<S: Storage>(key: &K, val: &V, storage: &S);
+	fn insert<S: Storage>(key: &K, val: &V, storage: &S) {
+		storage.put(&Self::key_for(key)[..], val);
+	}
 
 	/// Remove the value under a key.
-	fn remove<S: Storage>(key: &K, storage: &S);
-
-	/// Take the value under a key.
-	fn take<S: Storage>(key: &K, storage: &S) -> Option<V>;
+	fn remove<S: Storage>(key: &K, storage: &S) {
+		storage.kill(&Self::key_for(key)[..]);
+	}
 }
 
 #[macro_export]
 #[doc(hidden)]
 macro_rules! __storage_items_internal {
 	// generator for values.
-	(($($vis:tt)*) $name: ident: $key: expr => $ty:ty) => {
+	(($($vis:tt)*) ($get_fn:ident) ($gettype:ty) ($getter:ident) ($taker:ident) $name:ident : $key:expr => $ty:ty) => {
+		__storage_items_internal!{ ($($vis)*) () ($gettype) ($getter) ($taker) $name : $key => $ty }
+		pub fn $get_fn() -> $gettype { <$name as $crate::storage::generator::StorageValue<$ty>> :: get(&$crate::storage::RuntimeStorage) }
+	};
+	(($($vis:tt)*) () ($gettype:ty) ($getter:ident) ($taker:ident) $name:ident : $key:expr => $ty:ty) => {
 		$($vis)* struct $name;
 
-		#[allow(unused)]
-		impl $name {
-			/// Get the storage key.
-			$($vis)* fn key() -> &'static [u8] {
-				$key
-			}
-
-			/// Load the value from the provided storage instance.
-			$($vis)* fn load<S: $crate::GenericStorage>(storage: &S) -> Option<$ty> {
-				storage.load($key)
-			}
-
-			/// Store a value under this key into the provded storage instance.
-			$($vis)* fn store<S: $crate::GenericStorage>(val: &$ty, storage: &S) {
-				storage.store($key, val)
-			}
-
-			/// Kill the value.
-			$($vis)* fn kill<S: $crate::GenericStorage>(storage: &S) {
-				storage.kill($key)
-			}
-
-			/// Take and remove the value from the provided storage instance.
-			$($vis)* fn take<S: $crate::GenericStorage>(storage: &S) -> Option<$ty> {
-				storage.take($key)
-			}
-		}
-
 		impl $crate::storage::generator::StorageValue<$ty> for $name {
+			type Query = $gettype;
+
+			/// Get the storage key.
 			fn key() -> &'static [u8] {
 				$key
 			}
 
-			fn load<S: $crate::GenericStorage>(storage: &S) -> Option<$ty> {
-				$name::load(storage)
-			}
-
-			fn store<S: $crate::GenericStorage>(val: &$ty, storage: &S) {
-				$name::store(val, storage)
-			}
-
-			fn kill<S: $crate::GenericStorage>(storage: &S) {
-				$name::kill(storage)
+			/// Load the value from the provided storage instance.
+			fn get<S: $crate::GenericStorage>(storage: &S) -> Self::Query {
+				storage.$getter($key)
 			}
 
-			fn take<S: $crate::GenericStorage>(storage: &S) -> Option<$ty> {
-				$name::take(storage)
+			/// Take a value from storage, removing it afterwards.
+			fn take<S: $crate::GenericStorage>(storage: &S) -> Self::Query {
+				storage.$taker($key)
 			}
 		}
 	};
 	// generator for maps.
-	(($($vis:tt)*) $name: ident: $prefix: expr => map [$kty: ty => $ty:ty]) => {
+	(($($vis:tt)*) ($get_fn:ident) ($gettype:ty) ($getter:ident) ($taker:ident) $name:ident : $prefix:expr => map [$kty:ty => $ty:ty]) => {
+		__storage_items_internal!{ ($($vis)*) () ($gettype) ($getter) ($taker) $name : $prefix => map [$kty => $ty] }
+		pub fn $get_fn<K: $crate::storage::generator::Borrow<$kty>>(key: K) -> $gettype {
+			<$name as $crate::storage::generator::StorageMap<$kty, $ty>> :: get(key.borrow(), &$crate::storage::RuntimeStorage)
+		}
+	};
+	(($($vis:tt)*) () ($gettype:ty) ($getter:ident) ($taker:ident) $name:ident : $prefix:expr => map [$kty:ty => $ty:ty]) => {
 		$($vis)* struct $name;
 
-		#[allow(unused)]
-		impl $name {
+		impl $crate::storage::generator::StorageMap<$kty, $ty> for $name {
+			type Query = $gettype;
+
 			/// Get the prefix key in storage.
-			$($vis)* fn prefix() -> &'static [u8] {
+			fn prefix() -> &'static [u8] {
 				$prefix
 			}
 
 			/// Get the storage key used to fetch a value corresponding to a specific key.
-			$($vis)* fn key_for(x: &$kty) -> Vec<u8> {
+			fn key_for(x: &$kty) -> Vec<u8> {
 				let mut key = $prefix.to_vec();
 				key.extend($crate::codec::Slicable::encode(x));
 				key
 			}
 
 			/// Load the value associated with the given key from the map.
-			$($vis)* fn get<S: $crate::GenericStorage>(key: &$kty, storage: &S) -> Option<$ty> {
-				let key = $name::key_for(key);
-				storage.load(&key[..])
-			}
-
-			/// Store a value to be associated with the given key from the map.
-			$($vis)* fn insert<S: $crate::GenericStorage>(key: &$kty, val: &$ty, storage: &S) {
-				let key = $name::key_for(key);
-				storage.store(&key[..], val);
-			}
-
-			/// Remove the value from storage.
-			$($vis)* fn remove<S: $crate::GenericStorage>(key: &$kty, storage: &S) {
-				storage.kill(&$name::key_for(key)[..]);
+			fn get<S: $crate::GenericStorage>(key: &$kty, storage: &S) -> Self::Query {
+				let key = <$name as $crate::storage::generator::StorageMap<$kty, $ty>>::key_for(key);
+				storage.$getter(&key[..])
 			}
 
 			/// Take the value, reading and removing it.
-			$($vis)* fn take<S: $crate::GenericStorage>(key: &$kty, storage: &S) -> Option<$ty> {
-				let key = $name::key_for(key);
-				storage.take(&key[..])
-			}
-		}
-
-		impl $crate::storage::generator::StorageMap<$kty, $ty> for $name {
-			fn prefix() -> &'static [u8] {
-				$prefix
-			}
-
-			fn key_for(x: &$kty) -> Vec<u8> {
-				$name::key_for(x)
-			}
-
-			fn get<S: $crate::GenericStorage>(key: &$kty, storage: &S) -> Option<$ty> {
-				$name::get(key, storage)
-			}
-
-			fn insert<S: $crate::GenericStorage>(key: &$kty, val: &$ty, storage: &S) {
-				$name::insert(key, val, storage)
-			}
-
-			fn remove<S: $crate::GenericStorage>(key: &$kty, storage: &S) {
-				$name::remove(key, storage)
-			}
-
-			fn take<S: $crate::GenericStorage>(key: &$kty, storage: &S) -> Option<$ty> {
-				$name::take(key, storage)
+			fn take<S: $crate::GenericStorage>(key: &$kty, storage: &S) -> Self::Query {
+				let key = <$name as $crate::storage::generator::StorageMap<$kty, $ty>>::key_for(key);
+				storage.$taker(&key[..])
 			}
 		}
 	};
 	// generator for lists.
-	(($($vis:tt)*) $name: ident: $prefix: expr => list [$ty:ty]) => {
+	(($($vis:tt)*) $name:ident : $prefix:expr => list [$ty:ty]) => {
 		$($vis)* struct $name;
 
-		#[allow(unused)]
 		impl $name {
-			/// Get the prefix key in storage.
-			$($vis)* fn prefix() -> &'static [u8] {
-				$prefix
-			}
-
-			/// Get the key used to store the length field.
-			// TODO: concat macro should accept byte literals.
-			$($vis)* fn len_key() -> Vec<u8> {
-				let mut key = $prefix.to_vec();
-				key.extend(b"len");
-				key
-			}
-
-			/// Get the storage key used to fetch a value at a given index.
-			$($vis)* fn key_for(index: u32) -> Vec<u8> {
-				let mut key = $prefix.to_vec();
-				key.extend($crate::codec::Slicable::encode(&index));
-				key
-			}
-
-			/// Read out all the items.
-			$($vis)* fn items<S: $crate::GenericStorage>(storage: &S) -> Vec<$ty> {
-				(0..$name::len(storage))
-					.map(|i| $name::get(i, storage).expect("all items within length are set; qed"))
-					.collect()
-			}
-
-			/// Set the current set of items.
-			$($vis)* fn set_items<S: $crate::GenericStorage>(items: &[$ty], storage: &S) {
-				$name::set_len(items.len() as u32, storage);
-				items.iter()
-					.enumerate()
-					.for_each(|(i, item)| $name::set_item(i as u32, item, storage));
-			}
-
-			$($vis)* fn set_item<S: $crate::GenericStorage>(index: u32, item: &$ty, storage: &S) {
-				if index < $name::len(storage) {
-					storage.store(&$name::key_for(index)[..], item);
-				}
-			}
-
-			/// Load the value at given index. Returns `None` if the index is out-of-bounds.
-			$($vis)* fn get<S: $crate::GenericStorage>(index: u32, storage: &S) -> Option<$ty> {
-				storage.load(&$name::key_for(index)[..])
-			}
-
-			/// Load the length of the list.
-			$($vis)* fn len<S: $crate::GenericStorage>(storage: &S) -> u32 {
-				storage.load(&$name::len_key()).unwrap_or_default()
-			}
-
-			/// Clear the list.
-			$($vis)* fn clear<S: $crate::GenericStorage>(storage: &S) {
-				for i in 0..$name::len(storage) {
-					$name::clear_item(i, storage);
-				}
-
-				storage.kill(&$name::len_key()[..])
-			}
-
 			fn clear_item<S: $crate::GenericStorage>(index: u32, storage: &S) {
-				if index < $name::len(storage) {
-					storage.kill(&$name::key_for(index));
+				if index < <$name as $crate::storage::generator::StorageList<$ty>>::len(storage) {
+					storage.kill(&<$name as $crate::storage::generator::StorageList<$ty>>::key_for(index));
 				}
 			}
 
 			fn set_len<S: $crate::GenericStorage>(count: u32, storage: &S) {
-				(count..$name::len(storage)).for_each(|i| $name::clear_item(i, storage));
-				storage.store(&$name::len_key(), &count);
+				(count..<$name as $crate::storage::generator::StorageList<$ty>>::len(storage)).for_each(|i| $name::clear_item(i, storage));
+				storage.put(&<$name as $crate::storage::generator::StorageList<$ty>>::len_key(), &count);
 			}
 		}
 
@@ -342,42 +271,59 @@ macro_rules! __storage_items_internal {
 				$prefix
 			}
 
-			/// Get the key used to store the length field.
+			/// Get the key used to put the length field.
 			// TODO: concat macro should accept byte literals.
 			fn len_key() -> Vec<u8> {
-				$name::len_key()
+				let mut key = $prefix.to_vec();
+				key.extend(b"len");
+				key
 			}
 
 			/// Get the storage key used to fetch a value at a given index.
 			fn key_for(index: u32) -> Vec<u8> {
-				$name::key_for(index)
+				let mut key = $prefix.to_vec();
+				key.extend($crate::codec::Slicable::encode(&index));
+				key
 			}
 
 			/// Read out all the items.
 			fn items<S: $crate::GenericStorage>(storage: &S) -> Vec<$ty> {
-				$name::items(storage)
+				(0..<$name as $crate::storage::generator::StorageList<$ty>>::len(storage))
+					.map(|i| <$name as $crate::storage::generator::StorageList<$ty>>::get(i, storage).expect("all items within length are set; qed"))
+					.collect()
 			}
 
 			/// Set the current set of items.
 			fn set_items<S: $crate::GenericStorage>(items: &[$ty], storage: &S) {
-				$name::set_items(items, storage)
+				$name::set_len(items.len() as u32, storage);
+				items.iter()
+					.enumerate()
+					.for_each(|(i, item)| <$name as $crate::storage::generator::StorageList<$ty>>::set_item(i as u32, item, storage));
 			}
 
 			fn set_item<S: $crate::GenericStorage>(index: u32, item: &$ty, storage: &S) {
-				$name::set_item(index, item, storage)
+				if index < <$name as $crate::storage::generator::StorageList<$ty>>::len(storage) {
+					storage.put(&<$name as $crate::storage::generator::StorageList<$ty>>::key_for(index)[..], item);
+				}
 			}
 
 			/// Load the value at given index. Returns `None` if the index is out-of-bounds.
 			fn get<S: $crate::GenericStorage>(index: u32, storage: &S) -> Option<$ty> {
-				$name::get(index, storage)
+				storage.get(&<$name as $crate::storage::generator::StorageList<$ty>>::key_for(index)[..])
 			}
 
+			/// Load the length of the list.
 			fn len<S: $crate::GenericStorage>(storage: &S) -> u32 {
-				$name::len(storage)
+				storage.get(&<$name as $crate::storage::generator::StorageList<$ty>>::len_key()).unwrap_or_default()
 			}
 
+			/// Clear the list.
 			fn clear<S: $crate::GenericStorage>(storage: &S) {
-				$name::clear(storage)
+				for i in 0..<$name as $crate::storage::generator::StorageList<$ty>>::len(storage) {
+					$name::clear_item(i, storage);
+				}
+
+				storage.kill(&<$name as $crate::storage::generator::StorageList<$ty>>::len_key()[..])
 			}
 		}
 	};
@@ -387,29 +333,114 @@ macro_rules! __storage_items_internal {
 #[macro_export]
 macro_rules! storage_items {
 	// simple values
-	($name: ident: $key: expr => $ty:ty; $($t:tt)*) => {
-		__storage_items_internal!(() $name: $key => $ty);
+	($name:ident : $key:expr => $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!(() () (Option<$ty>) (get) (take) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident : $key:expr => $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!((pub) () (Option<$ty>) (get) (take) $name: $key => $ty);
 		storage_items!($($t)*);
 	};
-	(pub $name: ident: $key: expr => $ty:ty; $($t:tt)*) => {
-		__storage_items_internal!((pub) $name: $key => $ty);
+	($name:ident : $key:expr => default $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!(() () ($ty) (get_or_default) (take_or_default) $name: $key => $ty);
 		storage_items!($($t)*);
 	};
+	(pub $name:ident : $key:expr => default $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!((pub) () ($ty) (get_or_default) (take_or_default) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+	($name:ident : $key:expr => required $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!(() () ($ty) (require) (take_or_panic) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident : $key:expr => required $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!((pub) () ($ty) (require) (take_or_panic) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+
+	($name:ident get($getfn:ident) : $key:expr => $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!(() ($getfn) (Option<$ty>) (get) (take) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident get($getfn:ident) : $key:expr => $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!((pub) ($getfn) (Option<$ty>) (get) (take) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+	($name:ident get($getfn:ident) : $key:expr => default $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!(() ($getfn) ($ty) (get_or_default) (take_or_default) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident get($getfn:ident) : $key:expr => default $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!((pub) ($getfn) ($ty) (get_or_default) (take_or_default) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+	($name:ident get($getfn:ident) : $key:expr => required $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!(() ($getfn) ($ty) (require) (take_or_panic) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident get($getfn:ident) : $key:expr => required $ty:ty; $($t:tt)*) => {
+		__storage_items_internal!((pub) ($getfn) ($ty) (require) (take_or_panic) $name: $key => $ty);
+		storage_items!($($t)*);
+	};
+
 	// maps
-	($name: ident: $prefix: expr => map [$kty: ty => $ty:ty]; $($t:tt)*) => {
-		__storage_items_internal!(() $name: $prefix => map [$kty => $ty]);
+	($name:ident : $prefix:expr => map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!(() () (Option<$ty>) (get) (take) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident : $prefix:expr => map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!((pub) () (Option<$ty>) (get) (take) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+	($name:ident : $prefix:expr => default map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!(() () ($ty) (get_or_default) (take_or_default) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident : $prefix:expr => default map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!((pub) () ($ty) (get_or_default) (take_or_default) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+	($name:ident : $prefix:expr => required map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!(() () ($ty) (require) (take_or_panic) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident : $prefix:expr => required map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!((pub) () ($ty) (require) (take_or_panic) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+
+	($name:ident get($getfn:ident) : $prefix:expr => map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!(() ($getfn) (Option<$ty>) (get) (take) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident get($getfn:ident) : $prefix:expr => map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!((pub) ($getfn) (Option<$ty>) (get) (take) $name: $prefix => map [$kty => $ty]);
 		storage_items!($($t)*);
 	};
-	(pub $name: ident: $prefix: expr => map [$kty: ty => $ty:ty]; $($t:tt)*) => {
-		__storage_items_internal!((pub) $name: $prefix => map [$kty => $ty]);
+	($name:ident get($getfn:ident) : $prefix:expr => default map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!(() ($getfn) ($ty) (get_or_default) (take_or_default) $name: $prefix => map [$kty => $ty]);
 		storage_items!($($t)*);
 	};
+	(pub $name:ident get($getfn:ident) : $prefix:expr => default map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!((pub) ($getfn) ($ty) (get_or_default) (take_or_default) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+	($name:ident get($getfn:ident) : $prefix:expr => required map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!(() ($getfn) ($ty) (require) (take_or_panic) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+	(pub $name:ident get($getfn:ident) : $prefix:expr => required map [$kty: ty => $ty:ty]; $($t:tt)*) => {
+		__storage_items_internal!((pub) ($getfn) ($ty) (require) (take_or_panic) $name: $prefix => map [$kty => $ty]);
+		storage_items!($($t)*);
+	};
+
+
 	// lists
-	($name: ident: $prefix: expr => list [$ty:ty]; $($t:tt)*) => {
+	($name:ident : $prefix:expr => list [$ty:ty]; $($t:tt)*) => {
 		__storage_items_internal!(() $name: $prefix => list [$ty]);
 		storage_items!($($t)*);
 	};
-	(pub $name: ident: $prefix: expr => list [$ty:ty]; $($t:tt)*) => {
+	(pub $name:ident : $prefix:expr => list [$ty:ty]; $($t:tt)*) => {
 		__storage_items_internal!((pub) $name: $prefix => list [$ty]);
 		storage_items!($($t)*);
 	};
@@ -424,11 +455,15 @@ mod tests {
 	use super::*;
 
 	impl Storage for RefCell<HashMap<Vec<u8>, Vec<u8>>> {
-		fn load<T: Slicable>(&self, key: &[u8]) -> Option<T> {
+		fn exists(&self, key: &[u8]) -> bool {
+			self.borrow_mut().get(key).is_some()
+		}
+
+		fn get<T: Slicable>(&self, key: &[u8]) -> Option<T> {
 			self.borrow_mut().get(key).map(|v| T::decode(&mut &v[..]).unwrap())
 		}
 
-		fn store<T: Slicable>(&self, key: &[u8], val: &T) {
+		fn put<T: Slicable>(&self, key: &[u8], val: &T) {
 			self.borrow_mut().insert(key.to_owned(), val.encode());
 		}
 
@@ -443,14 +478,14 @@ mod tests {
 		Map: b"c:" => map [u32 => [u8; 32]];
 	}
 
-    #[test]
+	#[test]
 	fn value() {
 		let storage = RefCell::new(HashMap::new());
-		assert!(Value::load(&storage).is_none());
-		Value::store(&100_000, &storage);
-		assert_eq!(Value::load(&storage), Some(100_000));
+		assert!(Value::get(&storage).is_none());
+		Value::put(&100_000, &storage);
+		assert_eq!(Value::get(&storage), Some(100_000));
 		Value::kill(&storage);
-		assert!(Value::load(&storage).is_none());
+		assert!(Value::get(&storage).is_none());
 	}
 
 	#[test]
diff --git a/substrate/substrate/runtime-support/src/storage/mod.rs b/substrate/substrate/runtime-support/src/storage/mod.rs
index fb4aa174873..635a30848f5 100644
--- a/substrate/substrate/runtime-support/src/storage/mod.rs
+++ b/substrate/substrate/runtime-support/src/storage/mod.rs
@@ -47,7 +47,7 @@ pub fn get<T: Slicable + Sized>(key: &[u8]) -> Option<T> {
 			key: &key[..],
 			pos: 0,
 		};
-		Slicable::decode(&mut input).expect("stroage is not null, therefore must be a valid type")
+		Slicable::decode(&mut input).expect("storage is not null, therefore must be a valid type")
 	})
 }
 
@@ -122,58 +122,78 @@ pub fn put_raw(key: &[u8], value: &[u8]) {
 	runtime_io::set_storage(&twox_128(key)[..], value)
 }
 
-struct RuntimeStorage;
+/// The underlying runtime storage.
+pub struct RuntimeStorage;
 
 impl ::GenericStorage for RuntimeStorage {
+	fn exists(&self, key: &[u8]) -> bool {
+		super::storage::exists(key)
+	}
+
 	/// Load the bytes of a key from storage. Can panic if the type is incorrect.
-	fn load<T: Slicable>(&self, key: &[u8]) -> Option<T> {
-		get(key)
+	fn get<T: Slicable>(&self, key: &[u8]) -> Option<T> {
+		super::storage::get(key)
 	}
 
 	/// Put a value in under a key.
-	fn store<T: Slicable>(&self, key: &[u8], val: &T) {
-		put(key, val)
+	fn put<T: Slicable>(&self, key: &[u8], val: &T) {
+		super::storage::put(key, val)
 	}
 
 	/// Remove the bytes of a key from storage.
 	fn kill(&self, key: &[u8]) {
-		kill(key)
+		super::storage::kill(key)
 	}
 
 	/// Take a value from storage, deleting it after reading.
 	fn take<T: Slicable>(&self, key: &[u8]) -> Option<T> {
-		take(key)
+		super::storage::take(key)
 	}
 }
 
 /// A trait for working with macro-generated storage values under the substrate storage API.
 pub trait StorageValue<T: Slicable> {
+	/// The type that get/take return.
+	type Query;
+
 	/// Get the storage key.
 	fn key() -> &'static [u8];
+
+	/// Does the value (explicitly) exist in storage?
+	fn exists() -> bool;
+
 	/// Load the value from the provided storage instance.
-	fn load() -> Option<T>;
+	fn get() -> Self::Query;
+
 	/// Store a value under this key into the provded storage instance.
-	fn store(val: &T);
+	fn put<Arg: Borrow<T>>(val: Arg);
+
 	/// Clear the storage value.
 	fn kill();
+
 	/// Take a value from storage, removing it afterwards.
-	fn take() -> Option<T>;
+	fn take() -> Self::Query;
 }
 
 impl<T: Slicable, U> StorageValue<T> for U where U: generator::StorageValue<T> {
+	type Query = U::Query;
+
 	fn key() -> &'static [u8] {
 		<U as generator::StorageValue<T>>::key()
 	}
-	fn load() -> Option<T> {
-		U::load(&RuntimeStorage)
+	fn exists() -> bool {
+		U::exists(&RuntimeStorage)
+	}
+	fn get() -> Self::Query {
+		U::get(&RuntimeStorage)
 	}
-	fn store(val: &T) {
-		U::store(val, &RuntimeStorage)
+	fn put<Arg: Borrow<T>>(val: Arg) {
+		U::put(val.borrow(), &RuntimeStorage)
 	}
 	fn kill() {
 		U::kill(&RuntimeStorage)
 	}
-	fn take() -> Option<T> {
+	fn take() -> Self::Query {
 		U::take(&RuntimeStorage)
 	}
 }
@@ -196,7 +216,7 @@ pub trait StorageList<T: Slicable> {
 	fn set_items(items: &[T]);
 
 	/// Set the item at the given index.
-	fn set_item(index: u32, item: &T);
+	fn set_item<Arg: Borrow<T>>(index: u32, val: Arg);
 
 	/// Load the value at given index. Returns `None` if the index is out-of-bounds.
 	fn get(index: u32) -> Option<T>;
@@ -229,8 +249,8 @@ impl<T: Slicable, U> StorageList<T> for U where U: generator::StorageList<T> {
 		U::set_items(items, &RuntimeStorage)
 	}
 
-	fn set_item(index: u32, item: &T) {
-		U::set_item(index, item, &RuntimeStorage)
+	fn set_item<Arg: Borrow<T>>(index: u32, val: Arg) {
+		U::set_item(index, val.borrow(), &RuntimeStorage)
 	}
 
 	fn get(index: u32) -> Option<T> {
@@ -248,48 +268,60 @@ impl<T: Slicable, U> StorageList<T> for U where U: generator::StorageList<T> {
 
 /// A strongly-typed map in storage.
 pub trait StorageMap<K: Slicable, V: Slicable> {
+	/// The type that get/take return.
+	type Query;
+
 	/// Get the prefix key in storage.
 	fn prefix() -> &'static [u8];
 
 	/// Get the storage key used to fetch a value corresponding to a specific key.
-	fn key_for(x: &K) -> Vec<u8>;
+	fn key_for<KeyArg: Borrow<K>>(key: KeyArg) -> Vec<u8>;
+
+	/// Does the value (explicitly) exist in storage?
+	fn exists<KeyArg: Borrow<K>>(key: KeyArg) -> bool;
 
 	/// Load the value associated with the given key from the map.
-	fn get(key: &K) -> Option<V>;
+	fn get<KeyArg: Borrow<K>>(key: KeyArg) -> Self::Query;
 
 	/// Store a value to be associated with the given key from the map.
-	fn insert(key: &K, val: &V);
+	fn insert<KeyArg: Borrow<K>, ValArg: Borrow<V>>(key: KeyArg, val: ValArg);
 
 	/// Remove the value under a key.
-	fn remove(key: &K);
+	fn remove<KeyArg: Borrow<K>>(key: KeyArg);
 
 	/// Take the value under a key.
-	fn take(key: &K) -> Option<V>;
+	fn take<KeyArg: Borrow<K>>(key: KeyArg) -> Self::Query;
 }
 
 impl<K: Slicable, V: Slicable, U> StorageMap<K, V> for U where U: generator::StorageMap<K, V> {
+	type Query = U::Query;
+
 	fn prefix() -> &'static [u8] {
 		<U as generator::StorageMap<K, V>>::prefix()
 	}
 
-	fn key_for(item: &K) -> Vec<u8> {
-		<U as generator::StorageMap<K, V>>::key_for(item)
+	fn key_for<KeyArg: Borrow<K>>(key: KeyArg) -> Vec<u8> {
+		<U as generator::StorageMap<K, V>>::key_for(key.borrow())
+	}
+
+	fn exists<KeyArg: Borrow<K>>(key: KeyArg) -> bool {
+		U::exists(key.borrow(), &RuntimeStorage)
 	}
 
-	fn get(key: &K) -> Option<V> {
-		U::get(key, &RuntimeStorage)
+	fn get<KeyArg: Borrow<K>>(key: KeyArg) -> Self::Query {
+		U::get(key.borrow(), &RuntimeStorage)
 	}
 
-	fn insert(key: &K, val: &V) {
-		U::insert(key, val, &RuntimeStorage)
+	fn insert<KeyArg: Borrow<K>, ValArg: Borrow<V>>(key: KeyArg, val: ValArg) {
+		U::insert(key.borrow(), val.borrow(), &RuntimeStorage)
 	}
 
-	fn remove(key: &K) {
-		U::remove(key, &RuntimeStorage)
+	fn remove<KeyArg: Borrow<K>>(key: KeyArg) {
+		U::remove(key.borrow(), &RuntimeStorage)
 	}
 
-	fn take(key: &K) -> Option<V> {
-		U::take(key, &RuntimeStorage)
+	fn take<KeyArg: Borrow<K>>(key: KeyArg) -> Self::Query {
+		U::take(key.borrow(), &RuntimeStorage)
 	}
 }
 
diff --git a/substrate/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm
index b7150f9c4c350640c84ef908d233c9c9618f2dc4..63c43ca592414e834452fb3a16a0a360a8869acd 100644
GIT binary patch
delta 16
XcmZqr#n|+VaYJeiQ-0Cp^qScKL4*f@

delta 16
XcmZqr#n|+VaYJeiQ&Ilp^qScKL5Bx`

diff --git a/substrate/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.wasm b/substrate/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.wasm
index e7533bbd880e220b5de92621dde2562f93cf6e01..b43b00f68772fcf6a1054abe5dc4bc26451cf00c 100644
GIT binary patch
delta 16
Ycmccgi}BJg#tmC*nDUDzZ?BmR08Ug0zyJUM

delta 16
Ycmccgi}BJg#tmC*n2PczZ?BmR08Up3zyJUM

-- 
GitLab