mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 00:37:57 +00:00
6947b334b4
* wasm-builder: Enforce `runtime_version` wasm section This pr changes the `wasm-builder` to enforce the `runtime_version` wasm section. This wasm section is being created by the `sp_version::runtime_version` attribute macro. This attribute macro now exists since quite some time and `runtime_version` also is the only way for parachains to support reading the `RuntimeVersion` from the runtime. \# Disabling the check By default the `WasmBuilder` will now check for this wasm section and if not found, exit with an error. However, there are situations where you may want to disable this check (like for tests). In this case there exists the `disable_runtime_version_section_check` function. ``` WasmBuilder::new() ... ... ... .disable_runtime_version_section_check() .build() ``` By using this method you get back the old behavior. * Review comment * Fix * Fix issue with `enum-as-inner`
44 lines
1.4 KiB
Rust
44 lines
1.4 KiB
Rust
// This file is part of Substrate.
|
|
|
|
// Copyright (C) Parity Technologies (UK) Ltd.
|
|
// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
fn main() {
|
|
// regular build
|
|
#[cfg(feature = "std")]
|
|
{
|
|
substrate_wasm_builder::WasmBuilder::new()
|
|
.with_current_project()
|
|
.export_heap_base()
|
|
.import_memory()
|
|
.disable_runtime_version_section_check()
|
|
.build();
|
|
}
|
|
|
|
// and building with tracing activated
|
|
#[cfg(feature = "std")]
|
|
{
|
|
substrate_wasm_builder::WasmBuilder::new()
|
|
.with_current_project()
|
|
.export_heap_base()
|
|
.import_memory()
|
|
.set_file_name("wasm_binary_with_tracing.rs")
|
|
.append_to_rust_flags(r#"--cfg feature="with-tracing""#)
|
|
.disable_runtime_version_section_check()
|
|
.build();
|
|
}
|
|
}
|