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
@@ -758,8 +758,8 @@ mod test3 {
#[cfg(test)]
#[allow(dead_code)]
mod test_append_and_len {
use crate::storage::{StorageValue};
use runtime_io::{with_externalities, TestExternalities};
use runtime_io::TestExternalities;
use sr_primitives::set_and_run_with_externalities;
use codec::{Encode, Decode};
pub trait Trait {
@@ -801,7 +801,7 @@ mod test_append_and_len {
#[test]
fn default_for_option() {
with_externalities(&mut TestExternalities::default(), || {
set_and_run_with_externalities(&mut TestExternalities::default(), || {
assert_eq!(OptionVec::get(), None);
assert_eq!(JustVec::get(), vec![]);
});
@@ -809,7 +809,7 @@ mod test_append_and_len {
#[test]
fn append_works() {
with_externalities(&mut TestExternalities::default(), || {
set_and_run_with_externalities(&mut TestExternalities::default(), || {
let _ = MapVec::append(1, [1, 2, 3].iter());
let _ = MapVec::append(1, [4, 5].iter());
assert_eq!(MapVec::get(1), vec![1, 2, 3, 4, 5]);
@@ -822,7 +822,7 @@ mod test_append_and_len {
#[test]
fn append_works_for_default() {
with_externalities(&mut TestExternalities::default(), || {
set_and_run_with_externalities(&mut TestExternalities::default(), || {
assert_eq!(JustVecWithDefault::get(), vec![6, 9]);
let _ = JustVecWithDefault::append([1].iter());
assert_eq!(JustVecWithDefault::get(), vec![6, 9, 1]);
@@ -839,7 +839,7 @@ mod test_append_and_len {
#[test]
fn append_or_put_works() {
with_externalities(&mut TestExternalities::default(), || {
set_and_run_with_externalities(&mut TestExternalities::default(), || {
let _ = MapVec::append_or_insert(1, &[1, 2, 3][..]);
let _ = MapVec::append_or_insert(1, &[4, 5][..]);
assert_eq!(MapVec::get(1), vec![1, 2, 3, 4, 5]);
@@ -856,7 +856,7 @@ mod test_append_and_len {
#[test]
fn len_works() {
with_externalities(&mut TestExternalities::default(), || {
set_and_run_with_externalities(&mut TestExternalities::default(), || {
JustVec::put(&vec![1, 2, 3, 4]);
OptionVec::put(&vec![1, 2, 3, 4, 5]);
MapVec::insert(1, &vec![1, 2, 3, 4, 5, 6]);
@@ -871,7 +871,7 @@ mod test_append_and_len {
#[test]
fn len_works_for_default() {
with_externalities(&mut TestExternalities::default(), || {
set_and_run_with_externalities(&mut TestExternalities::default(), || {
// vec
assert_eq!(JustVec::get(), vec![]);
assert_eq!(JustVec::decode_len(), Ok(0));