Move Externalities into its own crate (#3775)

* Move `Externalities` into `substrate-externalities`

- `Externalities` now support generic extensions
- Split of `primtives-storage` for storage primitive types

* Move the externalities scoping into `substrate-externalities`

* Fix compilation

* Review feedback

* Adds macro for declaring extensions

* Fix benchmarks

* Introduce `ExtensionStore` trait

* Last review comments

* Implement it for `ExtensionStore`
This commit is contained in:
Bastian Köcher
2019-10-09 15:50:30 +02:00
committed by GitHub
parent 984c6ac839
commit 8a39be474e
95 changed files with 1600 additions and 1420 deletions
+13 -13
View File
@@ -135,12 +135,12 @@ impl<T: Trait> session::OneSessionHandler<T::AccountId> for Module<T> {
mod tests {
use super::*;
use app_crypto::Pair;
use primitives::testing::KeyStore;
use primitives::{crypto::key_types, sr25519, traits::BareCryptoStore, H256};
use runtime_io::{with_externalities, TestExternalities};
use sr_primitives::testing::{Header, UintAuthorityId};
use sr_primitives::traits::{ConvertInto, IdentityLookup, OpaqueKeys};
use sr_primitives::Perbill;
use primitives::{testing::KeyStore, crypto::key_types, sr25519, H256, traits::KeystoreExt};
use runtime_io::TestExternalities;
use sr_primitives::{
testing::{Header, UintAuthorityId}, traits::{ConvertInto, IdentityLookup, OpaqueKeys},
Perbill, set_and_run_with_externalities,
};
use support::{impl_outer_origin, parameter_types};
type AuthorityDiscovery = Module<Test>;
@@ -261,9 +261,9 @@ mod tests {
// Create externalities.
let mut externalities = TestExternalities::new(t);
externalities.set_keystore(key_store);
externalities.register_extension(KeystoreExt(key_store));
with_externalities(&mut externalities, || {
set_and_run_with_externalities(&mut externalities, || {
assert_eq!(
authority_id,
AuthorityDiscovery::authority_id().expect("Retrieving public key.")
@@ -298,9 +298,9 @@ mod tests {
// Create externalities.
let mut externalities = TestExternalities::new(t);
externalities.set_keystore(key_store);
externalities.register_extension(KeystoreExt(key_store));
with_externalities(&mut externalities, || {
set_and_run_with_externalities(&mut externalities, || {
assert_eq!(None, AuthorityDiscovery::authority_id());
});
}
@@ -335,9 +335,9 @@ mod tests {
// Create externalities.
let mut externalities = TestExternalities::new(t);
externalities.set_keystore(key_store);
externalities.register_extension(KeystoreExt(key_store));
with_externalities(&mut externalities, || {
set_and_run_with_externalities(&mut externalities, || {
let payload = String::from("test payload").into_bytes();
let (sig, authority_id) = AuthorityDiscovery::sign(&payload).expect("signature");
@@ -350,7 +350,7 @@ mod tests {
assert!(!AuthorityDiscovery::verify(
&String::from("other payload").into_bytes(),
sig,
authority_id
authority_id,
))
});
}