From b125f72774abc33eba77d83d18c46ec775ba8164 Mon Sep 17 00:00:00 2001 From: Gav <gavin@parity.io> Date: Sun, 4 Feb 2018 16:01:14 +0100 Subject: [PATCH] Rename con:aut to be in line with :code. --- substrate/state_machine/src/lib.rs | 14 +++++++------- .../polkadot/src/runtime/consensus.rs | 2 +- .../polkadot/src/runtime/genesismap.rs | 6 +++--- .../polkadot/src/runtime/session.rs | 6 +++--- .../release/runtime_polkadot.compact.wasm | Bin 69566 -> 69666 bytes .../release/runtime_polkadot.wasm | Bin 69616 -> 69716 bytes 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/substrate/state_machine/src/lib.rs b/substrate/state_machine/src/lib.rs index f5db3020632..dcb8a3b4c88 100644 --- a/substrate/state_machine/src/lib.rs +++ b/substrate/state_machine/src/lib.rs @@ -152,10 +152,10 @@ pub trait Externalities { /// Get the current set of authorities from storage. fn authorities(&self) -> Result<Vec<&[u8]>, ExternalitiesError> { - (0..self.storage(b":aut:len")?.into_iter() + (0..self.storage(b":auth:len")?.into_iter() .rev() .fold(0, |acc, &i| (acc << 8) + (i as u32))) - .map(|i| self.storage(&to_keyed_vec(i, b":aut:".to_vec()))) + .map(|i| self.storage(&to_keyed_vec(i, b":auth:".to_vec()))) .collect() } @@ -260,17 +260,17 @@ mod tests { assert_eq!(ext.authorities(), Ok(vec![])); - ext.set_storage(b"con:aut:len".to_vec(), vec![0u8; 4]); + ext.set_storage(b":auth:len".to_vec(), vec![0u8; 4]); assert_eq!(ext.authorities(), Ok(vec![])); - ext.set_storage(b"con:aut:len".to_vec(), vec![1u8, 0, 0, 0]); + ext.set_storage(b":auth:len".to_vec(), vec![1u8, 0, 0, 0]); assert_eq!(ext.authorities(), Ok(vec![&[][..]])); - ext.set_storage(b"con:aut:\0\0\0\0".to_vec(), b"first".to_vec()); + ext.set_storage(b":auth:\0\0\0\0".to_vec(), b"first".to_vec()); assert_eq!(ext.authorities(), Ok(vec![&b"first"[..]])); - ext.set_storage(b"con:aut:len".to_vec(), vec![2u8, 0, 0, 0]); - ext.set_storage(b"con:aut:\x01\0\0\0".to_vec(), b"second".to_vec()); + ext.set_storage(b":auth:len".to_vec(), vec![2u8, 0, 0, 0]); + ext.set_storage(b":auth:\x01\0\0\0".to_vec(), b"second".to_vec()); assert_eq!(ext.authorities(), Ok(vec![&b"first"[..], &b"second"[..]])); } diff --git a/substrate/wasm-runtime/polkadot/src/runtime/consensus.rs b/substrate/wasm-runtime/polkadot/src/runtime/consensus.rs index abaa24b2409..83e59d06840 100644 --- a/substrate/wasm-runtime/polkadot/src/runtime/consensus.rs +++ b/substrate/wasm-runtime/polkadot/src/runtime/consensus.rs @@ -23,7 +23,7 @@ use primitives::SessionKey; struct AuthorityStorageVec {} impl StorageVec for AuthorityStorageVec { type Item = SessionKey; - const PREFIX: &'static[u8] = b"con:aut:"; + const PREFIX: &'static[u8] = b":auth:"; } /// Get the current set of authorities. These are the session keys. diff --git a/substrate/wasm-runtime/polkadot/src/runtime/genesismap.rs b/substrate/wasm-runtime/polkadot/src/runtime/genesismap.rs index 20448eb0936..a56d03bd044 100644 --- a/substrate/wasm-runtime/polkadot/src/runtime/genesismap.rs +++ b/substrate/wasm-runtime/polkadot/src/runtime/genesismap.rs @@ -66,18 +66,18 @@ impl GenesisConfig { .map(|(i, account)| ((i as u32).to_keyed_vec(b"ses:val:"), vec![].join(account))) ).chain(self.authorities.iter() .enumerate() - .map(|(i, account)| ((i as u32).to_keyed_vec(b"con:aut:"), vec![].join(account))) + .map(|(i, account)| ((i as u32).to_keyed_vec(b":auth:"), vec![].join(account))) ).chain(self.balances.iter() .map(|&(account, balance)| (account.to_keyed_vec(b"sta:bal:"), vec![].join(&balance))) ) .map(|(k, v)| (twox_128(&k[..])[..].to_vec(), v.to_vec())) .chain(vec![ (b":code"[..].into(), wasm_runtime), - (b"con:aut:len"[..].into(), vec![].join(&(self.authorities.len() as u32))), + (b":auth:len"[..].into(), vec![].join(&(self.authorities.len() as u32))), ].into_iter()) .chain(self.authorities.iter() .enumerate() - .map(|(i, account)| ((i as u32).to_keyed_vec(b"con:aut:"), vec![].join(account))) + .map(|(i, account)| ((i as u32).to_keyed_vec(b":auth:"), vec![].join(account))) ) .collect() } diff --git a/substrate/wasm-runtime/polkadot/src/runtime/session.rs b/substrate/wasm-runtime/polkadot/src/runtime/session.rs index 2c195dbb72d..5ebc444f8f3 100644 --- a/substrate/wasm-runtime/polkadot/src/runtime/session.rs +++ b/substrate/wasm-runtime/polkadot/src/runtime/session.rs @@ -151,9 +151,9 @@ mod tests { 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], // initial session keys (11, 21, ...) - b"con:aut:len".to_vec() => vec![].join(&2u32), - 0u32.to_keyed_vec(b"con:aut:") => vec![11; 32], - 1u32.to_keyed_vec(b"con:aut:") => vec![21; 32] + b":auth:len".to_vec() => vec![].join(&2u32), + 0u32.to_keyed_vec(b":auth:") => vec![11; 32], + 1u32.to_keyed_vec(b":auth:") => vec![21; 32] ], } } diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm index 2ea4d55786392d88789f4558c8f01f70334b5754..e422068474f03a8d8b572bc08de121267e5ad904 100644 GIT binary patch delta 3685 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 Rv;<AbUaIxWhf`6}e*jp$dpZCB delta 3535 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 P9#JkatzEfm!a4s1TxoN@ diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm index 5421724eaccaf19a960da762a292ea91aadf052b..a9e9ae312077b790126526019e7b826f071ab3a1 100644 GIT binary patch delta 3755 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 Mvj&wvB_rqm06PPaOaK4? delta 3510 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 -- GitLab