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
+2 -5
View File
@@ -368,13 +368,10 @@ mod imp {
}
#[cfg(feature = "std")]
pub use self::imp::{
StorageOverlay, ChildrenStorageOverlay, with_storage,
with_externalities
};
pub use self::imp::{StorageOverlay, ChildrenStorageOverlay, with_storage};
#[cfg(not(feature = "std"))]
pub use self::imp::ext::*;
/// Type alias for Externalities implementation used in tests.
#[cfg(feature = "std")]
pub type TestExternalities<H> = self::imp::TestExternalities<H, u64>;
pub type TestExternalities = self::imp::TestExternalities<primitives::Blake2Hasher, u64>;