mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 01:47:55 +00:00
refactor(sc-executor): use wasm executor builder instead of old apis (#13740)
* refactor: use builder api for all executors * improve a lot * remove unused args * cleanup deps * fix inconsistency about heap alloc * add `heap_pages` back to try-runtime * fix * chore: reduce duplicated code for sc-service-test * cleanup code * fmt * improve test executor * improve * use #[deprecated] * set runtime_cache_size: 4 * fix and improve * refactor builder * fix * fix bench * fix tests * fix warnings * fix warnings * fix * fix * update by suggestions * update name
This commit is contained in:
@@ -368,7 +368,9 @@ use sc_cli::{
|
||||
WasmtimeInstantiationStrategy, DEFAULT_WASMTIME_INSTANTIATION_STRATEGY,
|
||||
DEFAULT_WASM_EXECUTION_METHOD,
|
||||
};
|
||||
use sc_executor::{sp_wasm_interface::HostFunctions, WasmExecutor};
|
||||
use sc_executor::{
|
||||
sp_wasm_interface::HostFunctions, HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY,
|
||||
};
|
||||
use sp_api::HashT;
|
||||
use sp_core::{
|
||||
hexdisplay::HexDisplay,
|
||||
@@ -824,18 +826,20 @@ pub(crate) fn full_extensions<H: HostFunctions>(wasm_executor: WasmExecutor<H>)
|
||||
extensions
|
||||
}
|
||||
|
||||
/// Build wasm executor by default config.
|
||||
pub(crate) fn build_executor<H: HostFunctions>(shared: &SharedParams) -> WasmExecutor<H> {
|
||||
let heap_pages = shared.heap_pages.or(Some(2048));
|
||||
let max_runtime_instances = 8;
|
||||
let runtime_cache_size = 2;
|
||||
let heap_pages = shared
|
||||
.heap_pages
|
||||
.map_or(DEFAULT_HEAP_ALLOC_STRATEGY, |p| HeapAllocStrategy::Static { extra_pages: p as _ });
|
||||
|
||||
WasmExecutor::new(
|
||||
execution_method_from_cli(shared.wasm_method, shared.wasmtime_instantiation_strategy),
|
||||
heap_pages,
|
||||
max_runtime_instances,
|
||||
None,
|
||||
runtime_cache_size,
|
||||
)
|
||||
WasmExecutor::builder()
|
||||
.with_execution_method(execution_method_from_cli(
|
||||
shared.wasm_method,
|
||||
shared.wasmtime_instantiation_strategy,
|
||||
))
|
||||
.with_onchain_heap_alloc_strategy(heap_pages)
|
||||
.with_offchain_heap_alloc_strategy(heap_pages)
|
||||
.build()
|
||||
}
|
||||
|
||||
/// Ensure that the given `ext` is compiled with `try-runtime`
|
||||
|
||||
Reference in New Issue
Block a user