Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
1962954
changes_trie
svyatonik Aug 15, 2018
17680a4
Merge branch 'master' into change_trie
svyatonik Aug 27, 2018
d24951f
changs_trie: continue
svyatonik Aug 27, 2018
6bbd7a6
changes_trie: adding tests
svyatonik Aug 28, 2018
fdfec3f
Merge branch 'master' into change_trie
svyatonik Aug 28, 2018
e30c6a2
fixed TODO
svyatonik Aug 28, 2018
4a18da0
removed obsolete ExtrinsicChanges
svyatonik Aug 29, 2018
8ba73e3
Merge branch 'master' into change_trie
svyatonik Aug 29, 2018
497e3ad
encodable ChangesTrieConfiguration
svyatonik Aug 30, 2018
2d0e4fa
Merge branch 'master' into change_trie
svyatonik Aug 30, 2018
42c8d59
removed polkadot fle
svyatonik Aug 31, 2018
6617af3
fixed grumbles
svyatonik Sep 3, 2018
24c810f
Merge branch 'master' into change_trie
svyatonik Sep 3, 2018
3354854
ext_storage_changes_root returns u32
svyatonik Sep 3, 2018
3368d14
Merge branch 'master' into change_trie
svyatonik Sep 11, 2018
78e8343
moved changes trie root to digest
svyatonik Sep 12, 2018
2a376f5
removed commented code
svyatonik Sep 12, 2018
902a8cc
Merge branch 'master' into change_trie
svyatonik Sep 12, 2018
8925838
Merge branch 'master' into change_trie
svyatonik Sep 12, 2018
6a03d58
read storage values from native code
svyatonik Sep 14, 2018
1cc7b06
Merge branch 'master' into change_trie
svyatonik Sep 14, 2018
51885f6
fixed grumbles
svyatonik Sep 17, 2018
825610e
fixed grumbles
svyatonik Sep 18, 2018
06aa5c8
Merge branch 'master' into change_trie
svyatonik Sep 18, 2018
b90e96d
missing comma
svyatonik Sep 18, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
ext_storage_changes_root returns u32
  • Loading branch information
svyatonik committed Sep 3, 2018
commit 33548545d9605dc5edce6d8c20818884b8eb6428
Binary file not shown.
Binary file not shown.
8 changes: 3 additions & 5 deletions substrate/executor/src/wasm_executor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -304,14 +304,12 @@ impl_function_executor!(this: FunctionExecutor<'e, E>,
this.memory.set(result, r.as_ref()).map_err(|_| UserError("Invalid attempt to set memory in ext_storage_root"))?;
Ok(())
},
ext_storage_changes_root(is_set: *mut u8, result: *mut u8) => {
ext_storage_changes_root(result: *mut u8) -> u32 => {
let r = this.ext.storage_changes_root();
let r_is_some = [r.is_some() as u8];
this.memory.set(is_set, &r_is_some[..]).map_err(|_| UserError("Invalid attempt to set memory in ext_storage_changes_root"))?;
if let Some(r) = r {
if let Some(ref r) = r {
this.memory.set(result, &r[..]).map_err(|_| UserError("Invalid attempt to set memory in ext_storage_changes_root"))?;
}
Ok(())
Ok(if r.is_some() { 1u32 } else { 0u32 })
},
ext_enumerated_trie_root(values_data: *const u8, lens_data: *const u32, lens_len: u32, result: *mut u8) => {
let values = (0..lens_len)
Expand Down
Binary file not shown.
Binary file not shown.
9 changes: 4 additions & 5 deletions substrate/runtime-io/without_std.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ extern "C" {
fn ext_get_allocated_storage(key_data: *const u8, key_len: u32, written_out: *mut u32) -> *mut u8;
fn ext_get_storage_into(key_data: *const u8, key_len: u32, value_data: *mut u8, value_len: u32, value_offset: u32) -> u32;
fn ext_storage_root(result: *mut u8);
fn ext_storage_changes_root(is_set: *mut u8, result: *mut u8);
fn ext_storage_changes_root(result: *mut u8) -> u32;
fn ext_enumerated_trie_root(values_data: *const u8, lens_data: *const u32, lens_len: u32, result: *mut u8);
fn ext_chain_id() -> u64;
fn ext_blake2_256(data: *const u8, len: u32, out: *mut u8);
Expand Down Expand Up @@ -169,11 +169,10 @@ pub fn storage_root() -> [u8; 32] {

/// The current storage' changes root.
pub fn storage_changes_root() -> Option<[u8; 32]> {
let mut is_set: u8 = 0;
let mut result: [u8; 32] = Default::default();
unsafe {
ext_storage_changes_root(&mut is_set, result.as_mut_ptr());
}
let is_set = unsafe {
ext_storage_changes_root(result.as_mut_ptr())
};

if is_set != 0 {
Some(result)
Expand Down
Binary file not shown.
Binary file not shown.