@@ -11,10 +11,10 @@ use std::ffi::c_int;
1111
1212pub fn load_elf (
1313 elf_bytes : & [ u8 ] ,
14- features : Option < proto:: FeatureSet > ,
14+ features : Option < & proto:: FeatureSet > ,
1515 deploy_checks : bool ,
1616) -> Option < ElfLoaderEffects > {
17- let feature_set = FeatureSet :: from ( & features. unwrap_or_default ( ) ) ;
17+ let feature_set = FeatureSet :: from ( features. unwrap_or ( & proto :: FeatureSet :: default ( ) ) ) ;
1818 let program_runtime_environment_v1 = create_program_runtime_environment_v1 (
1919 & feature_set. runtime_features ( ) ,
2020 & SVMTransactionExecutionBudget :: default ( ) ,
@@ -75,7 +75,7 @@ pub unsafe extern "C" fn sol_compat_elf_loader_v1(
7575 return 0 ;
7676 }
7777
78- let Some ( elf_loader_effects) = execute_elf_loader ( elf_loader_ctx) else {
78+ let Some ( elf_loader_effects) = execute_elf_loader ( & elf_loader_ctx) else {
7979 return 0 ;
8080 } ;
8181
@@ -89,12 +89,7 @@ pub unsafe extern "C" fn sol_compat_elf_loader_v1(
8989 1
9090}
9191
92- pub fn execute_elf_loader ( input : ElfLoaderCtx ) -> Option < ElfLoaderEffects > {
93- let elf_bytes = match input. elf {
94- Some ( elf) => elf. data ,
95- None => return None ,
96- } ;
97-
98- let elf_loader_effects = load_elf ( elf_bytes. as_slice ( ) , input. features , input. deploy_checks ) ?;
99- Some ( elf_loader_effects)
92+ pub fn execute_elf_loader ( input : & ElfLoaderCtx ) -> Option < ElfLoaderEffects > {
93+ let elf_bytes = input. elf . as_ref ( ) ?. data . as_slice ( ) ;
94+ load_elf ( elf_bytes, input. features . as_ref ( ) , input. deploy_checks )
10095}
0 commit comments