Use generic hash for runtime wasm in resolve_state_version_from_wasm (#3447)

Changes the runtime hash algorithm used in
`resolve_state_version_from_wasm` from `DefaultHasher` to a
caller-provided one (usually `HashingFor<Block>`), to match the one used
elsewhere.

This fixes an issue where the runtime wasm is compiled 3 times when
starting the `tanssi-node` with `--dev`. With this fix, the runtime wasm
is only compiled 2 times. The other redundant compilation is caused by
the `GenesisConfigBuilderRuntimeCaller` struct, which ignores the
runtime cache.

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
This commit is contained in:
tmpolaczyk
2024-02-24 11:34:05 +01:00
committed by GitHub
parent 2431001ec0
commit de6d02591b
3 changed files with 25 additions and 12 deletions
+13
View File
@@ -0,0 +1,13 @@
# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0
# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json
title: Use generic hash for runtime wasm in resolve_state_version_from_wasm
doc:
- audience: Node Dev
description: |
Changes the runtime hash algorithm used in resolve_state_version_from_wasm from DefaultHasher to a caller-provided
one (usually HashingFor<Block>). Fixes a bug where the runtime wasm was being compiled again when it was not
needed, because the hash did not match
crates:
- name: sc-chain-spec