pub(super) async fn insert_base_system_contracts_to_factory_deps(
    storage: &mut Connection<'_, Core>,
    contracts: &BaseSystemContracts,
) -> Result<(), GenesisError> {
    let factory_deps = [&contracts.bootloader, &contracts.default_aa]
        .into_iter()
        .chain(contracts.evm_emulator.as_ref())
        .map(|c| (c.hash, c.code.clone()))
        .collect();

    Ok(storage
        .factory_deps_dal()
        .insert_factory_deps(L2BlockNumber(0), &factory_deps)
        .await?)
}
Default account, bootloader and EVM emulator are not regular system contracts.
They have never been actually deployed anywhere, rather, they are the initial code that is fed into the VM upon its start.
Hence, they are rather parameters of a block and not *real* system contracts.
The code of the bootloader should not be deployed anywhere in the kernel space (i.e. addresses below 2^16)
because in this case we will have to worry about protecting it.
core/node/genesis/src/utils.rs