Light friendly storage tracking: changes trie + extending over ranges (#628)

* changes_trie

* changs_trie: continue

* changes_trie: adding tests

* fixed TODO

* removed obsolete ExtrinsicChanges

* encodable ChangesTrieConfiguration

* removed polkadot fle

* fixed grumbles

* ext_storage_changes_root returns u32

* moved changes trie root to digest

* removed commented code

* read storage values from native code

* fixed grumbles

* fixed grumbles

* missing comma
This commit is contained in:
Svyatoslav Nikolsky
2018-09-18 10:14:41 +03:00
committed by Gav Wood
parent 24479cd7f5
commit 7fa337afbc
64 changed files with 3130 additions and 788 deletions
+11 -11
View File
@@ -20,16 +20,20 @@ use serde::{Serialize, de::DeserializeOwned};
use std::fmt::Debug;
use codec::Codec;
use traits::{self, Checkable, Applyable, BlakeTwo256};
use generic::DigestItem as GenDigestItem;
pub use substrate_primitives::H256;
pub type DigestItem = GenDigestItem<H256, u64>;
#[derive(Default, PartialEq, Eq, Clone, Serialize, Deserialize, Debug, Encode, Decode)]
pub struct Digest {
pub logs: Vec<u64>,
pub logs: Vec<DigestItem>,
}
impl traits::Digest for Digest {
type Item = u64;
type Hash = H256;
type Item = DigestItem;
fn logs(&self) -> &[Self::Item] {
&self.logs
@@ -40,14 +44,6 @@ impl traits::Digest for Digest {
}
}
impl traits::DigestItem for () {
type AuthorityId = ();
}
impl traits::DigestItem for u64 {
type AuthorityId = ();
}
#[derive(PartialEq, Eq, Clone, Serialize, Deserialize, Debug, Encode, Decode)]
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
@@ -88,7 +84,11 @@ impl traits::Header for Header {
digest: Self::Digest
) -> Self {
Header {
number, extrinsics_root: extrinsics_root, state_root, parent_hash, digest
number,
extrinsics_root: extrinsics_root,
state_root,
parent_hash,
digest
}
}
}