Introduce code_substitute (#8898)

This introduces a new field `code_substitute` into the chain spec. This
can be used to substitute the on-chain wasm starting from a given block
until there is another wasm on chain (determined through the
`spec_version`). This can be used to fix broken on chain wasm runtimes.
This commit is contained in:
Bastian Köcher
2021-05-25 16:07:36 +02:00
committed by GitHub
parent a7a326ee07
commit 53e28b98e9
12 changed files with 286 additions and 43 deletions
+2
View File
@@ -161,6 +161,8 @@ pub trait ChainSpec: BuildStorage + Send + Sync {
fn set_storage(&mut self, storage: Storage);
/// Hardcode infomation to allow light clients to sync quickly into the chain spec.
fn set_light_sync_state(&mut self, light_sync_state: SerializableLightSyncState);
/// Returns code substitutes that should be used for the on chain wasm.
fn code_substitutes(&self) -> std::collections::HashMap<String, Vec<u8>>;
}
impl std::fmt::Debug for dyn ChainSpec {