iota_types/
execution_config_utils.rs1use iota_protocol_config::ProtocolConfig;
6use move_binary_format::{
7 binary_config::{BinaryConfig, TableConfig},
8 file_format_common::VERSION_1,
9};
10
11pub fn to_binary_config(protocol_config: &ProtocolConfig) -> BinaryConfig {
13 BinaryConfig::new(
14 protocol_config.move_binary_format_version(),
15 protocol_config
16 .min_move_binary_format_version_as_option()
17 .unwrap_or(VERSION_1),
18 protocol_config.no_extraneous_module_bytes(),
19 protocol_config.metadata_in_module_bytes(),
20 TableConfig {
21 module_handles: protocol_config
22 .binary_module_handles_as_option()
23 .unwrap_or(u16::MAX),
24 datatype_handles: protocol_config
25 .binary_struct_handles_as_option()
26 .unwrap_or(u16::MAX),
27 function_handles: protocol_config
28 .binary_function_handles_as_option()
29 .unwrap_or(u16::MAX),
30 function_instantiations: protocol_config
31 .binary_function_instantiations_as_option()
32 .unwrap_or(u16::MAX),
33 signatures: protocol_config
34 .binary_signatures_as_option()
35 .unwrap_or(u16::MAX),
36 constant_pool: protocol_config
37 .binary_constant_pool_as_option()
38 .unwrap_or(u16::MAX),
39 identifiers: protocol_config
40 .binary_identifiers_as_option()
41 .unwrap_or(u16::MAX),
42 address_identifiers: protocol_config
43 .binary_address_identifiers_as_option()
44 .unwrap_or(u16::MAX),
45 struct_defs: protocol_config
46 .binary_struct_defs_as_option()
47 .unwrap_or(u16::MAX),
48 struct_def_instantiations: protocol_config
49 .binary_struct_def_instantiations_as_option()
50 .unwrap_or(u16::MAX),
51 function_defs: protocol_config
52 .binary_function_defs_as_option()
53 .unwrap_or(u16::MAX),
54 field_handles: protocol_config
55 .binary_field_handles_as_option()
56 .unwrap_or(u16::MAX),
57 field_instantiations: protocol_config
58 .binary_field_instantiations_as_option()
59 .unwrap_or(u16::MAX),
60 friend_decls: protocol_config
61 .binary_friend_decls_as_option()
62 .unwrap_or(u16::MAX),
63 enum_defs: protocol_config
64 .binary_enum_defs_as_option()
65 .unwrap_or(u16::MAX),
66 enum_def_instantiations: protocol_config
67 .binary_enum_def_instantiations_as_option()
68 .unwrap_or(u16::MAX),
69 variant_handles: protocol_config
70 .binary_variant_handles_as_option()
71 .unwrap_or(u16::MAX),
72 variant_instantiation_handles: protocol_config
73 .binary_variant_instantiation_handles_as_option()
74 .unwrap_or(u16::MAX),
75 },
76 )
77}