certora-cli-alpha-master 20250617.10.38.101609__py3-none-macosx_10_9_universal2.whl → 20250618.12.44.279419__py3-none-macosx_10_9_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3729,8 +3729,7 @@ def build_from_scratch(context: CertoraContext,
3729
3729
 
3730
3730
  def build_from_cache_or_scratch(context: CertoraContext,
3731
3731
  certora_build_generator: CertoraBuildGenerator,
3732
- certora_verify_generator: CertoraVerifyGenerator,
3733
- certora_build_cache_manager: CertoraBuildCacheManager) \
3732
+ certora_verify_generator: CertoraVerifyGenerator) \
3734
3733
  -> Tuple[bool, bool, CachedFiles]:
3735
3734
  """
3736
3735
  Builds either from cache (fast path) or from scratch (slow path)
@@ -3747,10 +3746,10 @@ def build_from_cache_or_scratch(context: CertoraContext,
3747
3746
  False)
3748
3747
  return cache_hit, False, cached_files
3749
3748
 
3750
- build_cache_applicable = certora_build_cache_manager.cache_is_applicable(context)
3749
+ build_cache_applicable = CertoraBuildCacheManager.cache_is_applicable(context)
3751
3750
 
3752
3751
  if not build_cache_applicable:
3753
- build_cache_disabling_options = certora_build_cache_manager.cache_disabling_options(context)
3752
+ build_cache_disabling_options = CertoraBuildCacheManager.cache_disabling_options(context)
3754
3753
  build_logger.warning("Requested to enable the build cache, but the build cache is not applicable "
3755
3754
  f"to this run because of the given options: {build_cache_disabling_options}")
3756
3755
  cached_files = build_from_scratch(context, certora_build_generator,
@@ -3758,7 +3757,7 @@ def build_from_cache_or_scratch(context: CertoraContext,
3758
3757
  False)
3759
3758
  return cache_hit, False, cached_files
3760
3759
 
3761
- cached_files = certora_build_cache_manager.build_from_cache(context)
3760
+ cached_files = CertoraBuildCacheManager.build_from_cache(context)
3762
3761
  # if no match, will rebuild from scratch
3763
3762
  if cached_files is not None:
3764
3763
  # write to .certora_build.json
@@ -3797,7 +3796,7 @@ def build(context: CertoraContext, ignore_spec_syntax_check: bool = False) -> No
3797
3796
 
3798
3797
  try:
3799
3798
  input_config = InputConfig(context)
3800
-
3799
+ context.main_cache_key = CertoraBuildCacheManager.get_main_cache_key(context)
3801
3800
  # Create generators
3802
3801
  certora_build_generator = CertoraBuildGenerator(input_config, context)
3803
3802
 
@@ -3813,12 +3812,9 @@ def build(context: CertoraContext, ignore_spec_syntax_check: bool = False) -> No
3813
3812
  else:
3814
3813
  Ctx.run_local_spec_check(False, context)
3815
3814
 
3816
- certora_build_cache_manager = CertoraBuildCacheManager()
3817
-
3818
3815
  cache_hit, build_cache_enabled, cached_files = build_from_cache_or_scratch(context,
3819
3816
  certora_build_generator,
3820
- certora_verify_generator,
3821
- certora_build_cache_manager)
3817
+ certora_verify_generator)
3822
3818
 
3823
3819
  # avoid running the same test over and over again for each split run, context.split_rules is true only for
3824
3820
  # the first run and is set to [] for split runs
@@ -3838,7 +3834,7 @@ def build(context: CertoraContext, ignore_spec_syntax_check: bool = False) -> No
3838
3834
 
3839
3835
  # save in build cache
3840
3836
  if not cache_hit and build_cache_enabled and cached_files.may_store_in_build_cache:
3841
- certora_build_cache_manager.save_build_cache(context, cached_files)
3837
+ CertoraBuildCacheManager.save_build_cache(context, cached_files)
3842
3838
 
3843
3839
  certora_verify_generator.update_certora_verify_struct(True)
3844
3840
  certora_verify_generator.dump() # second dump with properly rooted specs
@@ -66,10 +66,9 @@ class CertoraBuildCacheManager:
66
66
  @returns None if no cache hit, otherwise - the matching `.certora_build.json` file, and a set of source files
67
67
  """
68
68
  build_cache_dir = Util.get_certora_build_cache_dir()
69
- main_cache_key = CertoraBuildCacheManager.get_main_cache_key(context)
70
- main_cache_entry_dir = build_cache_dir / main_cache_key
69
+ main_cache_entry_dir = build_cache_dir / context.main_cache_key
71
70
  if not main_cache_entry_dir.exists():
72
- build_cache_logger.info(f"cache miss on build cache key {main_cache_key}")
71
+ build_cache_logger.info(f"cache miss on build cache key {context.main_cache_key}")
73
72
  return None
74
73
 
75
74
  # here's the tricky matching part:
@@ -92,7 +91,7 @@ class CertoraBuildCacheManager:
92
91
  build_cache_logger.debug(f"Current sub build cache key computed for {file_list_file} is invalid")
93
92
  continue
94
93
  elif sub_cache_key_current_for_list == sub_cache_key_from_saved_entry:
95
- build_cache_logger.info(f"We have a match on build cache key {main_cache_key} and "
94
+ build_cache_logger.info(f"We have a match on build cache key {context.main_cache_key} and "
96
95
  f"{sub_cache_key_current_for_list}")
97
96
  sub_cache_key = sub_cache_key_current_for_list
98
97
  all_contract_files = set([Path(f) for f in file_list])
@@ -103,24 +102,24 @@ class CertoraBuildCacheManager:
103
102
 
104
103
  if sub_cache_key is None:
105
104
  build_cache_logger.info("All sub-cache-key file list files missed, cache miss on build cache key "
106
- f"{main_cache_key}")
105
+ f"{context.main_cache_key}")
107
106
  return None
108
107
 
109
108
  # cache hit
110
109
  certora_build_file = main_cache_entry_dir / f"{sub_cache_key}.{CachedFiles.certora_build_suffix}"
111
110
  if not certora_build_file.exists():
112
- build_cache_logger.warning(f"Got a cache-hit on build cache key {main_cache_key} and {sub_cache_key} "
111
+ build_cache_logger.warning(f"Got a cache-hit on build cache key {context.main_cache_key} and {sub_cache_key} "
113
112
  "but .certora_build.json file does not exist")
114
113
  return None
115
114
 
116
115
  if all_contract_files is None: # should not be feasible
117
- build_cache_logger.warning(f"Got a cache-hit on build cache key {main_cache_key} and {sub_cache_key} "
118
- "but file list file does not exist")
116
+ build_cache_logger.warning(f"Got a cache-hit on build cache key {context.main_cache_key} and "
117
+ f"{sub_cache_key} but file list file does not exist")
119
118
  return None
120
119
 
121
120
  build_output_props_file = main_cache_entry_dir / f"{sub_cache_key}.{CachedFiles.build_output_props_suffix}"
122
121
  if not build_output_props_file.exists():
123
- build_cache_logger.warning(f"Got a cache-hit on build cache key {main_cache_key} and {sub_cache_key} "
122
+ build_cache_logger.warning(f"Got a cache-hit on build cache key {context.main_cache_key} and {sub_cache_key} "
124
123
  f"but {CachedFiles.build_output_props_suffix} file does not exist")
125
124
  return None
126
125
 
@@ -131,26 +130,26 @@ class CertoraBuildCacheManager:
131
130
  @staticmethod
132
131
  def save_build_cache(context: CertoraContext, cached_files: CachedFiles) -> None:
133
132
  build_cache_dir = Util.get_certora_build_cache_dir()
134
- main_cache_key = CertoraBuildCacheManager.get_main_cache_key(context)
135
- main_cache_entry_dir = build_cache_dir / main_cache_key
133
+ main_cache_entry_dir = build_cache_dir / context.main_cache_key
136
134
  sub_cache_key = CertoraBuildCacheManager.get_sub_cache_key(cached_files.all_contract_files)
137
135
  if sub_cache_key is None:
138
- build_cache_logger.warning(f"Cannot save cache for main build cache key {main_cache_key} "
136
+ build_cache_logger.warning(f"Cannot save cache for main build cache key {context.main_cache_key} "
139
137
  "as sub-cache-key could not be computed")
140
138
  return
141
139
 
142
140
  if main_cache_entry_dir.exists():
143
- build_cache_logger.info(f"main build cache key already exists {main_cache_key}, "
141
+ build_cache_logger.info(f"main build cache key already exists {context.main_cache_key}, "
144
142
  f"saving sub build cache key {sub_cache_key}")
145
143
  if cached_files.all_exist(main_cache_entry_dir, sub_cache_key):
146
144
  build_cache_logger.debug("cache already saved under this build cache key, override")
147
145
  else:
148
- build_cache_logger.debug(f"cache was corrupted, need to re-save build cache key {main_cache_key} "
149
- f"and sub cache key {sub_cache_key}")
146
+ build_cache_logger.debug(f"cache was corrupted, need to re-save build cache key "
147
+ f"{context.main_cache_key} and sub cache key {sub_cache_key}")
150
148
  CertoraBuildCacheManager.save_files(cached_files, main_cache_entry_dir,
151
149
  sub_cache_key)
152
150
  else:
153
- build_cache_logger.info(f"saving main build cache key {main_cache_key} and sub cache key {sub_cache_key}")
151
+ build_cache_logger.info(f"saving main build cache key {context.main_cache_key} and sub cache key "
152
+ f"{sub_cache_key}")
154
153
  safe_create_dir(main_cache_entry_dir)
155
154
  CertoraBuildCacheManager.save_files(cached_files, main_cache_entry_dir,
156
155
  sub_cache_key)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: certora-cli-alpha-master
3
- Version: 20250617.10.38.101609
3
+ Version: 20250618.12.44.279419
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli-alpha-master
6
6
  Author: Certora
@@ -38,4 +38,4 @@ Dynamic: requires-dist
38
38
  Dynamic: requires-python
39
39
  Dynamic: summary
40
40
 
41
- Commit 5dff57a. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
41
+ Commit 83b38e8. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -10,8 +10,8 @@ certora_cli/certoraSolanaProver.py,sha256=7hu-YJJNA_P5eAJq_jYh6IGjiUf0PegGUBRCJ5
10
10
  certora_cli/certoraSorobanProver.py,sha256=qE6b_vicC8KgOvUz7UTOaDuXT3UW0MMhq3keQgUVvzs,2865
11
11
  certora_cli/rustMutator.py,sha256=6AvOGU8Ijz89zW_ZJCWlfXkeobJsk7EsqZhK7Eqwn-Y,14544
12
12
  certora_cli/CertoraProver/__init__.py,sha256=QHNr-PJQAoyuPgTkO7gg23GRchiWSXglWNG7yLSQZvs,849
13
- certora_cli/CertoraProver/certoraBuild.py,sha256=OOIRWyCZE7QVduKCmW0ZTwhV-xBQqXLWBIqCzv0Lf4I,212376
14
- certora_cli/CertoraProver/certoraBuildCacheManager.py,sha256=dzXC8A-V9gr1GGsPYglQLlFLoR2Tk4dTJuMHaxXBfgw,13257
13
+ certora_cli/CertoraProver/certoraBuild.py,sha256=PofVFPe6Xc2gd3J_gNV4UJRM0GkwWWBp6idSQM8QEN8,212184
14
+ certora_cli/CertoraProver/certoraBuildCacheManager.py,sha256=I60x0ykMFPzciD193cPXihsHh0fdV--UOmNKbIZW6Rc,13238
15
15
  certora_cli/CertoraProver/certoraBuildDataClasses.py,sha256=8tPny9-pasC7CCRKQclaVQ3qcEDNa6EdOUu1ZWh0MZY,14704
16
16
  certora_cli/CertoraProver/certoraBuildRust.py,sha256=ofKvmtqzUGTrgVm5crcybV7gbElbjiUc6Z4FphPEjz0,6016
17
17
  certora_cli/CertoraProver/certoraCloudIO.py,sha256=w3mqA5ANgIX6dsb6Nxg4jl9zBRdAX5kw9xLeYmA-iHc,53062
@@ -65,12 +65,12 @@ certora_cli/Shared/certoraUtils.py,sha256=xTVCh7bWdMDQR37SA6jLUHSelxsk3mbSYi26XK
65
65
  certora_cli/Shared/certoraValidateFuncs.py,sha256=EGoCGTtGMRzWdN-T5GducwkYbyqZBcSjQZHpau0fWnQ,41922
66
66
  certora_cli/Shared/proverCommon.py,sha256=PqkjycZ3TdZr0RNWoPuA_VZ5b7EAAsu9ewymNH6kIm4,11291
67
67
  certora_cli/Shared/rustProverCommon.py,sha256=NIZ5ECbhuiMegyRAl07CV3r68MFG2tBNKgUAQoV4uLI,2049
68
- certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=q_yxPQ6efZgAQDzeRW1bfUVhB1cxus0X0ln8rdHfjR4,170
69
- certora_jars/Typechecker.jar,sha256=dTfsgEuT0Fd5i9OT2PxQJVGMsG_pQWf2RVYxA4sGkoY,17142966
68
+ certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=3cuCdKBIRB29Hr0WahkzwJ5la1y3BHaetXx3AyX6XgY,170
69
+ certora_jars/Typechecker.jar,sha256=DdmVVzOJPVGI1HwukqFj_bBTMT1D4Fe2j7F2WDZrzME,17142966
70
70
  certora_jars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- certora_cli_alpha_master-20250617.10.38.101609.dist-info/LICENSE,sha256=UGKSKIJSetF8m906JLKqNLkUS2CL60XfQdNvxBvpQXo,620
72
- certora_cli_alpha_master-20250617.10.38.101609.dist-info/METADATA,sha256=yOH-3PUZzn81vpWOYSuxdpuzvzP44ZgpNQfb9fYUELk,1271
73
- certora_cli_alpha_master-20250617.10.38.101609.dist-info/WHEEL,sha256=9Ig2YBzm5cpS_YWKLeuYxVAxcKv_uDQsCzy9XJbRZ_g,110
74
- certora_cli_alpha_master-20250617.10.38.101609.dist-info/entry_points.txt,sha256=_SQ5_uYOAJXtqEW992nIvq7blW9cWFSUVEdbMGuy--4,443
75
- certora_cli_alpha_master-20250617.10.38.101609.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
76
- certora_cli_alpha_master-20250617.10.38.101609.dist-info/RECORD,,
71
+ certora_cli_alpha_master-20250618.12.44.279419.dist-info/LICENSE,sha256=UGKSKIJSetF8m906JLKqNLkUS2CL60XfQdNvxBvpQXo,620
72
+ certora_cli_alpha_master-20250618.12.44.279419.dist-info/METADATA,sha256=zK3yv8NXotUzp3OG1MHjKKaXitiXpUxQjCM_3ThiWVk,1271
73
+ certora_cli_alpha_master-20250618.12.44.279419.dist-info/WHEEL,sha256=9Ig2YBzm5cpS_YWKLeuYxVAxcKv_uDQsCzy9XJbRZ_g,110
74
+ certora_cli_alpha_master-20250618.12.44.279419.dist-info/entry_points.txt,sha256=_SQ5_uYOAJXtqEW992nIvq7blW9cWFSUVEdbMGuy--4,443
75
+ certora_cli_alpha_master-20250618.12.44.279419.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
76
+ certora_cli_alpha_master-20250618.12.44.279419.dist-info/RECORD,,
@@ -1 +1 @@
1
- {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "5dff57a", "timestamp": "20250617.10.38.101609", "version": "20250617.10.38.101609+5dff57a"}
1
+ {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "83b38e8", "timestamp": "20250618.12.44.279419", "version": "20250618.12.44.279419+83b38e8"}
Binary file