I found that I missed an update on Cumulus/Substrate side.
- impl frame_system_benchmarking::Config for Runtime {}
+ impl frame_system_benchmarking::Config for Runtime {
+ fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
+ ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
+ Ok(())
+ }
+
+ fn verify_set_code() {
+ System::assert_last_event(cumulus_pallet_parachain_system::Event::<Runtime>::ValidationFunctionStored.into());
+ }
+ }
For more detail check, https://github.com/paritytech/cumulus/pull/2766.
The interesting thing is that this PR was not included in polkadot-v0.9.43
. And I also found that cumulus didn't benchmark frame-system
for polkadot-v0.9.43
.