Skip to content

Commit

Permalink
Merge branch 'master' of github.com:ChainSafe/polkadot-spec into ext_…
Browse files Browse the repository at this point in the history
…crypto_ecdsa_generate_version_1
  • Loading branch information
axaysagathiya committed Mar 24, 2024
2 parents f07f917 + 7e7d4bd commit f58938d
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 0 deletions.
Binary file modified test/runtimes/hostapi/hostapi_runtime.compact.wasm
Binary file not shown.
85 changes: 85 additions & 0 deletions test/runtimes/hostapi/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ extern "C" {
fn ext_storage_clear_prefix_version_2(key: u64, limit: u64) -> u64;
fn ext_storage_append_version_1(key: u64, value: u64);
fn ext_storage_root_version_1() -> u64;
fn ext_storage_root_version_2(version: u32) -> u64;
fn ext_storage_next_key_version_1(key: u64) -> u64;

// OffChain API
Expand All @@ -37,7 +38,9 @@ extern "C" {
fn ext_default_child_storage_storage_kill_version_3(child: u64, limit: u64) -> u64;
fn ext_default_child_storage_exists_version_1(child: u64, key: u64) -> i32;
fn ext_default_child_storage_clear_prefix_version_1(child: u64, key: u64);
fn ext_default_child_storage_clear_prefix_version_2(child: u64, key: u64, limit: u64) -> u64;
fn ext_default_child_storage_root_version_1(child: u64) -> u64;
fn ext_default_child_storage_root_version_2(child: u64, version: u32) -> u64;
fn ext_default_child_storage_next_key_version_1(child: u64, key: u64) -> u64;

// Crypto API
Expand Down Expand Up @@ -72,10 +75,14 @@ extern "C" {

// Trie API
fn ext_trie_blake2_256_root_version_1(data: u64) -> u32;
fn ext_trie_blake2_256_root_version_2(data: u64, version: u32) -> u32;
fn ext_trie_blake2_256_ordered_root_version_1(data: u64) -> u32;
fn ext_trie_blake2_256_ordered_root_version_2(data: u64, version: u32) -> u32;
fn ext_trie_blake2_256_verify_proof_version_1(a: u32, b: u64, c: u64, d: u64) -> u32;
fn ext_trie_blake2_256_verify_proof_version_2(a: u32, b: u64, c: u64, d: u64, v: u32) -> u32;

// Offchain
fn ext_offchain_index_clear_version_1(key: u64);
fn ext_offchain_local_storage_clear_version_1(kind: u32, key: u64);
fn ext_offchain_http_request_start_version_1(method: u64, uri: u64, meta: u64) -> u64;
fn ext_offchain_http_request_add_header_version_1(id: u32, key: u64, value: u64) -> u64;
Expand Down Expand Up @@ -191,6 +198,15 @@ sp_core::wasm_export_functions! {
}
}

fn rtm_ext_storage_root_version_2(version: u32) -> Vec<u8> {
unsafe {
let value = ext_storage_root_version_2(
version,
);
from_mem(value)
}
}

fn rtm_ext_storage_next_key_version_1(key: Vec<u8>) -> Option<Vec<u8>> {
unsafe {
let value = ext_storage_next_key_version_1(key.as_re_ptr());
Expand Down Expand Up @@ -336,6 +352,23 @@ sp_core::wasm_export_functions! {
}
}


fn rtm_ext_default_child_storage_clear_prefix_version_2(
child: Vec<u8>,
key: Vec<u8>,
limit: Option<u32>,
) -> Option<Vec<u8>> {
let limit = limit.encode();
unsafe {
let value = ext_default_child_storage_clear_prefix_version_2(
child.as_re_ptr(),
key.as_re_ptr(),
limit.as_re_ptr(),
);
Decode::decode(&mut from_mem(value).as_slice()).unwrap()
}
}

fn rtm_ext_default_child_storage_root_version_1(child: Vec<u8>) -> Vec<u8> {
unsafe {
let value = ext_default_child_storage_root_version_1(
Expand All @@ -345,6 +378,16 @@ sp_core::wasm_export_functions! {
}
}

fn rtm_ext_default_child_storage_root_version_2(child: Vec<u8>, version: u32) -> Vec<u8> {
unsafe {
let value = ext_default_child_storage_root_version_2(
child.as_re_ptr(),
version,
);
from_mem(value)
}
}

fn rtm_ext_default_child_storage_next_key_version_1(
child_key: Vec<u8>,
key_data: Vec<u8>
Expand Down Expand Up @@ -560,6 +603,17 @@ sp_core::wasm_export_functions! {
}
}

fn rtm_ext_trie_blake2_256_root_version_2(data: Vec<(Vec<u8>, Vec<u8>)>, version: u32) -> Vec<u8> {
let data = data.encode();
unsafe {
let value = ext_trie_blake2_256_root_version_2(
data.as_re_ptr(),
version,
);
std::slice::from_raw_parts(value as *mut u8, 32).to_vec()
}
}

fn rtm_ext_trie_blake2_256_ordered_root_version_1(data: Vec<Vec<u8>>) -> Vec<u8> {
let data = data.encode();
unsafe {
Expand All @@ -570,6 +624,17 @@ sp_core::wasm_export_functions! {
}
}

fn rtm_ext_trie_blake2_256_ordered_root_version_2(data: Vec<Vec<u8>>, version: u32) -> Vec<u8> {
let data = data.encode();
unsafe {
let value = ext_trie_blake2_256_ordered_root_version_2(
data.as_re_ptr(),
version,
);
std::slice::from_raw_parts(value as *mut u8, 32).to_vec()
}
}

fn rtm_ext_trie_blake2_256_verify_proof_version_1(root: Vec<u8>, proof: Vec<Vec<u8>>, key: Vec<u8>, v: Vec<u8>) -> u32 {
let proofEnc = proof.encode();
unsafe {
Expand All @@ -582,6 +647,26 @@ sp_core::wasm_export_functions! {
}
}

fn rtm_ext_trie_blake2_256_verify_proof_version_2(root: Vec<u8>, proof: Vec<Vec<u8>>, key: Vec<u8>, v: Vec<u8>, version: u32) -> u32 {
let proofEnc = proof.encode();
unsafe {
ext_trie_blake2_256_verify_proof_version_2(
root.as_ptr() as u32,
proofEnc.as_re_ptr(),
key.as_re_ptr(),
v.as_re_ptr(),
version,
) as u32
}
}

fn rtm_ext_offchain_index_clear_version_1(key: Vec<u8>) {
unsafe {
let _ = ext_offchain_index_clear_version_1(
key.as_re_ptr());
}
}

fn rtm_ext_offchain_local_storage_clear_version_1(kind: [u8; 4], key: Vec<u8>) {
unsafe {
let _ = ext_offchain_local_storage_clear_version_1(
Expand Down

0 comments on commit f58938d

Please sign in to comment.