mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 21:37:56 +00:00
Remove runtime registered extensions after execution (#7236)
* Remove runtime registered extensions after execution This prevents a bug when an extension was registered in native, but the native execution aborted without removing the extension again. Now, when executing the wasm code the extension is still registered and it fails of being registered. So, the wasm execution fails as well. This can happen for example for the `VerificationExt`. * Make it better
This commit is contained in:
@@ -233,10 +233,11 @@ impl<H, N> sp_externalities::ExtensionStore for TestExternalities<H, N> where
|
||||
}
|
||||
|
||||
fn deregister_extension_by_type_id(&mut self, type_id: TypeId) -> Result<(), sp_externalities::Error> {
|
||||
self.extensions
|
||||
.deregister(type_id)
|
||||
.expect("There should be an extension we try to remove in TestExternalities");
|
||||
Ok(())
|
||||
if self.extensions.deregister(type_id) {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(sp_externalities::Error::ExtensionIsNotRegistered(type_id))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user