certora-cli-beta-mirror 7.29.0__tar.gz → 7.29.1__tar.gz

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.
Files changed (79) hide show
  1. {certora_cli_beta_mirror-7.29.0/certora_cli_beta_mirror.egg-info → certora_cli_beta_mirror-7.29.1}/PKG-INFO +2 -2
  2. certora_cli_beta_mirror-7.29.1/README.md +1 -0
  3. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraBuildRust.py +24 -38
  4. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraCloudIO.py +24 -0
  5. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraContext.py +5 -1
  6. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraContextAttributes.py +3 -0
  7. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraContextValidator.py +8 -0
  8. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/certoraRun.py +2 -2
  9. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/certoraSolanaProver.py +2 -2
  10. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/certoraSorobanProver.py +2 -2
  11. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1/certora_cli_beta_mirror.egg-info}/PKG-INFO +2 -2
  12. certora_cli_beta_mirror-7.29.1/certora_jars/CERTORA-CLI-VERSION-METADATA.json +1 -0
  13. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_jars/Typechecker.jar +0 -0
  14. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/setup.py +2 -2
  15. certora_cli_beta_mirror-7.29.0/README.md +0 -1
  16. certora_cli_beta_mirror-7.29.0/certora_jars/CERTORA-CLI-VERSION-METADATA.json +0 -1
  17. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/LICENSE +0 -0
  18. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/MANIFEST.in +0 -0
  19. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_bins/__init__.py +0 -0
  20. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/Compiler/CompilerCollector.py +0 -0
  21. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/Compiler/CompilerCollectorFactory.py +0 -0
  22. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/Compiler/CompilerCollectorSol.py +0 -0
  23. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/Compiler/CompilerCollectorSolBased.py +0 -0
  24. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/Compiler/CompilerCollectorVy.py +0 -0
  25. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/Compiler/CompilerCollectorYul.py +0 -0
  26. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/Compiler/__init__.py +0 -0
  27. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/__init__.py +0 -0
  28. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraBuild.py +0 -0
  29. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraBuildCacheManager.py +0 -0
  30. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraBuildDataClasses.py +0 -0
  31. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraCollectConfigurationLayout.py +0 -0
  32. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraCollectRunMetadata.py +0 -0
  33. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraCompilerParameters.py +0 -0
  34. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraConfigIO.py +0 -0
  35. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraContextClass.py +0 -0
  36. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraContractFuncs.py +0 -0
  37. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraExtensionInfo.py +0 -0
  38. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraJobList.py +0 -0
  39. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraMiniSpecParser.py +0 -0
  40. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraNodeFilters.py +0 -0
  41. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraParseBuildScript.py +0 -0
  42. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraProjectScanner.py +0 -0
  43. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraSourceFinders.py +0 -0
  44. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraType.py +0 -0
  45. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/certoraVerifyGenerator.py +0 -0
  46. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/CertoraProver/splitRules.py +0 -0
  47. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/EquivalenceCheck/Eq_default.conf +0 -0
  48. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/EquivalenceCheck/Eq_mc_no_out_template.spec +0 -0
  49. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/EquivalenceCheck/Eq_mc_template.spec +0 -0
  50. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/EquivalenceCheck/Eq_sanity.conf +0 -0
  51. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/EquivalenceCheck/Eq_template.spec +0 -0
  52. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/EquivalenceCheck/__init__.py +0 -0
  53. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/EquivalenceCheck/equivCheck.py +0 -0
  54. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/EquivalenceCheck/sanity.spec +0 -0
  55. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Mutate/__init__.py +0 -0
  56. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Mutate/mutateApp.py +0 -0
  57. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Mutate/mutateAttributes.py +0 -0
  58. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Mutate/mutateConstants.py +0 -0
  59. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Mutate/mutateUtil.py +0 -0
  60. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Mutate/mutateValidate.py +0 -0
  61. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Shared/ExpectedComparator.py +0 -0
  62. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Shared/__init__.py +0 -0
  63. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Shared/certoraAttrUtil.py +0 -0
  64. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Shared/certoraLogging.py +0 -0
  65. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Shared/certoraUtils.py +0 -0
  66. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/Shared/certoraValidateFuncs.py +0 -0
  67. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/__init__.py +0 -0
  68. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/certoraEVMProver.py +0 -0
  69. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/certoraEqCheck.py +0 -0
  70. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/certoraMutate.py +0 -0
  71. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/certoraRanger.py +0 -0
  72. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli/rustMutator.py +0 -0
  73. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli_beta_mirror.egg-info/SOURCES.txt +0 -0
  74. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli_beta_mirror.egg-info/dependency_links.txt +0 -0
  75. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli_beta_mirror.egg-info/entry_points.txt +0 -0
  76. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli_beta_mirror.egg-info/requires.txt +0 -0
  77. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_cli_beta_mirror.egg-info/top_level.txt +0 -0
  78. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/certora_jars/__init__.py +0 -0
  79. {certora_cli_beta_mirror-7.29.0 → certora_cli_beta_mirror-7.29.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: certora-cli-beta-mirror
3
- Version: 7.29.0
3
+ Version: 7.29.1
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli-beta-mirror
6
6
  Author: Certora
@@ -37,4 +37,4 @@ Dynamic: requires-dist
37
37
  Dynamic: requires-python
38
38
  Dynamic: summary
39
39
 
40
- Commit 3f35845. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
40
+ Commit b8a319d. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -0,0 +1 @@
1
+ Commit b8a319d. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -16,7 +16,7 @@
16
16
  import glob
17
17
  import shutil
18
18
  from pathlib import Path
19
- from typing import Set, List
19
+ from typing import Set
20
20
 
21
21
  from CertoraProver.certoraBuild import build_source_tree
22
22
  from CertoraProver.certoraContextClass import CertoraContext
@@ -25,42 +25,9 @@ import CertoraProver.certoraContextAttributes as Attrs
25
25
  from Shared import certoraUtils as Util
26
26
 
27
27
 
28
- def build_rust_app(context: CertoraContext) -> None:
29
- build_command: List[str] = []
30
- feature_flag = None
31
- if context.build_script:
32
- build_command = [context.build_script]
33
- feature_flag = '--cargo_features'
34
-
35
- elif not context.files:
36
- build_command = ["cargo", "certora-sbf"]
37
- feature_flag = '--features'
38
- if context.cargo_tools_version:
39
- build_command.append("--tools-version")
40
- build_command.append(context.cargo_tools_version)
41
-
42
- if build_command:
43
- if context.cargo_features is not None:
44
- build_command.extend([feature_flag] + context.cargo_features)
45
-
46
- build_command.extend(['--json', '-l'])
47
-
48
- if context.test == str(Util.TestValue.SOLANA_BUILD_CMD):
49
- raise Util.TestResultsReady(build_command)
50
-
51
- run_rust_build(context, build_command)
52
-
53
- else:
54
- if not context.files:
55
- raise Util.CertoraUserInputError("'files' or 'build_script' must be set for Rust projects")
56
- if len(context.files) > 1:
57
- raise Util.CertoraUserInputError("Rust projects must specify exactly one executable in 'files'.")
58
-
59
- try:
60
- Util.get_certora_sources_dir().mkdir(parents=True, exist_ok=True)
61
- shutil.copy(Util.get_last_conf_file(), Util.get_certora_sources_dir() / Util.LAST_CONF_FILE)
62
- except Exception as e:
63
- raise Util.CertoraUserInputError(f"Collecting build files failed with the exception: {e}")
28
+ def set_rust_build_directory(context: CertoraContext) -> None:
29
+ if not context.files:
30
+ build_rust_app(context)
64
31
 
65
32
  copy_files_to_build_dir(context)
66
33
 
@@ -74,6 +41,25 @@ def build_rust_app(context: CertoraContext) -> None:
74
41
  except Exception as e:
75
42
  raise Util.CertoraUserInputError(f"Collecting build files failed with the exception: {e}")
76
43
 
44
+ def build_rust_app(context: CertoraContext) -> None:
45
+ assert not context.files, "build_rust_app: expecting files to be empty"
46
+ if context.build_script:
47
+ build_command = [context.build_script, '--json', '-l']
48
+ feature_flag = '--cargo_features'
49
+ else: # cargo
50
+ build_command = ["cargo", "certora-sbf", '--json']
51
+ feature_flag = '--features'
52
+ if context.cargo_tools_version:
53
+ build_command.extend(["--tools-version", context.cargo_tools_version])
54
+
55
+ if context.cargo_features is not None:
56
+ build_command.append(feature_flag)
57
+ build_command.extend(context.cargo_features)
58
+
59
+ if context.test == str(Util.TestValue.SOLANA_BUILD_CMD):
60
+ raise Util.TestResultsReady(build_command)
61
+
62
+ run_rust_build(context, build_command)
77
63
 
78
64
  def add_solana_files_from_prover_args(context: CertoraContext) -> None:
79
65
  if context.prover_args:
@@ -134,7 +120,7 @@ def collect_files_from_rust_sources(context: CertoraContext, sources: Set[Path])
134
120
  sources.add(file_path)
135
121
 
136
122
  sources.add(project_directory.absolute())
137
- if Path(context.build_script).exists():
123
+ if context.build_script:
138
124
  sources.add(Path(context.build_script).resolve())
139
125
  if getattr(context, 'conf_file', None) and Path(context.conf_file).exists():
140
126
  sources.add(Path(context.conf_file).absolute())
@@ -70,6 +70,16 @@ Response = requests.models.Response
70
70
 
71
71
  FEATURES_REPORT_FILE = Path("featuresReport.json")
72
72
 
73
+ class EcoEnum(Util.NoValEnum):
74
+ EVM = Util.auto()
75
+ SOROBAN = Util.auto()
76
+ SOLANA = Util.auto()
77
+
78
+ class ProductEnum(Util.NoValEnum):
79
+ PROVER = Util.auto()
80
+ RANGER = Util.auto()
81
+ SOPHY = Util.auto()
82
+
73
83
 
74
84
  class TimeError(Exception):
75
85
  """A custom exception used to report on time elapsed errors"""
@@ -631,6 +641,20 @@ class CloudVerification:
631
641
 
632
642
  auth_data["useLatestFe"] = self.context.fe_version == str(Util.FeValue.LATEST)
633
643
 
644
+ if Attrs.is_solana_app():
645
+ auth_data["ecosystem"] = EcoEnum.SOLANA.name
646
+ elif Attrs.is_soroban_app():
647
+ auth_data["ecosystem"] = EcoEnum.SOROBAN.name
648
+ else:
649
+ auth_data["ecosystem"] = EcoEnum.EVM.name
650
+
651
+ if Attrs.is_ranger_app():
652
+ auth_data["product"] = ProductEnum.RANGER.name
653
+ elif Attrs.is_sophy_app():
654
+ auth_data["product"] = ProductEnum.SOPHY.name
655
+ else:
656
+ auth_data["product"] = ProductEnum.PROVER.name
657
+
634
658
  if Attrs.is_evm_app() and self.context.cache is not None:
635
659
  auth_data["toolSceneCacheKey"] = self.context.cache
636
660
 
@@ -121,7 +121,9 @@ def get_local_run_cmd(context: CertoraContext) -> List[str]:
121
121
  run_args = []
122
122
 
123
123
  if Attrs.is_rust_app():
124
- run_args.append(Path(context.files[0]).name)
124
+ # For local runs, we want path to be relative to cwd instead of zip root.
125
+ rust_rel_path = os.path.relpath(Path(context.files[0]), os.getcwd())
126
+ run_args.append(rust_rel_path)
125
127
  elif context.is_tac:
126
128
  # For Rust app we assume the files holds the executable for the prover, currently we support a single file
127
129
  try:
@@ -276,6 +278,8 @@ def get_args(args_list: Optional[List[str]] = None) -> CertoraContext:
276
278
  if Attrs.is_evm_app():
277
279
  validator.check_args_post_argparse()
278
280
  setup_cache(context) # Here context.cache, context.user_defined_cache are set
281
+ if Attrs.is_rust_app():
282
+ validator.check_rust_args_post_argparse()
279
283
 
280
284
  attrs_to_relative(context)
281
285
  # Setup defaults (defaults are not recorded in conf file)
@@ -1854,3 +1854,6 @@ def is_evm_app() -> bool:
1854
1854
 
1855
1855
  def is_ranger_app() -> bool:
1856
1856
  return get_attribute_class() == RangerAttributes
1857
+
1858
+ def is_sophy_app() -> bool:
1859
+ return False # wait for the tool to be added
@@ -154,6 +154,14 @@ class CertoraContextValidator:
154
154
  elif value not in [True, False]:
155
155
  raise Util.CertoraUserInputError(f"value of {conf_key} {value} is not a boolean (true/false)")
156
156
 
157
+ def check_rust_args_post_argparse(self) -> None:
158
+ context = self.context
159
+ if context.files:
160
+ if context.build_script:
161
+ raise Util.CertoraUserInputError("'files' and 'build_script' cannot be both set for Rust projects")
162
+ if len(context.files) > 1:
163
+ raise Util.CertoraUserInputError("Rust projects must specify exactly one executable in 'files'.")
164
+
157
165
  def check_args_post_argparse(self) -> None:
158
166
  """
159
167
  Performs checks over the arguments after basic argparse parsing
@@ -32,7 +32,7 @@ from CertoraProver.certoraCollectRunMetadata import collect_run_metadata
32
32
  from CertoraProver.certoraCollectConfigurationLayout import collect_configuration_layout
33
33
  from Shared.certoraLogging import LoggingManager
34
34
  from CertoraProver.certoraBuild import build
35
- from CertoraProver.certoraBuildRust import build_rust_app
35
+ from CertoraProver.certoraBuildRust import set_rust_build_directory
36
36
  import CertoraProver.certoraContext as Ctx
37
37
 
38
38
  from CertoraProver import certoraContextValidator as Cv
@@ -132,7 +132,7 @@ def run_certora(args: List[str], attrs_class: Optional[Type[AttrUtil.Attributes]
132
132
  raise Util.ExitException("Split rules failed", exit_code)
133
133
 
134
134
  if Attrs.is_rust_app():
135
- build_rust_app(context)
135
+ set_rust_build_directory(context)
136
136
 
137
137
  if context.local:
138
138
  check_cmd = Ctx.get_local_run_cmd(context)
@@ -35,7 +35,7 @@ from CertoraProver import certoraContextValidator as Cv
35
35
 
36
36
  import CertoraProver.certoraContext as Ctx
37
37
  import CertoraProver.certoraContextAttributes as Attrs
38
- from CertoraProver.certoraBuildRust import build_rust_app
38
+ from CertoraProver.certoraBuildRust import set_rust_build_directory
39
39
 
40
40
  from certoraRun import CertoraRunResult, VIOLATIONS_EXIT_CODE, CertoraFoundViolations
41
41
 
@@ -104,7 +104,7 @@ def run_solana_prover(args: List[str]) -> Optional[CertoraRunResult]:
104
104
  run_logger.debug("Build Solana target")
105
105
  build_start = time.perf_counter()
106
106
 
107
- build_rust_app(context)
107
+ set_rust_build_directory(context)
108
108
  build_end = time.perf_counter()
109
109
  timings["buildTime"] = round(build_end - build_start, 4)
110
110
  if context.test == str(Util.TestValue.AFTER_BUILD):
@@ -34,7 +34,7 @@ from CertoraProver import certoraContextValidator as Cv
34
34
  from CertoraProver.certoraContextClass import CertoraContext
35
35
  from CertoraProver.certoraCollectRunMetadata import collect_run_metadata
36
36
  from CertoraProver.certoraCollectConfigurationLayout import collect_configuration_layout
37
- from CertoraProver.certoraBuildRust import build_rust_app
37
+ from CertoraProver.certoraBuildRust import set_rust_build_directory
38
38
  from CertoraProver.certoraCloudIO import CloudVerification, validate_version_and_branch
39
39
  from certoraRun import CertoraRunResult, VIOLATIONS_EXIT_CODE, CertoraFoundViolations
40
40
 
@@ -132,7 +132,7 @@ def build_project(context: CertoraContext) -> Dict:
132
132
  run_logger.debug("Build Soroban target")
133
133
 
134
134
  build_start = time.perf_counter()
135
- build_rust_app(context)
135
+ set_rust_build_directory(context)
136
136
  build_end = time.perf_counter()
137
137
 
138
138
  timings["buildTime"] = round(build_end - build_start, 4)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: certora-cli-beta-mirror
3
- Version: 7.29.0
3
+ Version: 7.29.1
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli-beta-mirror
6
6
  Author: Certora
@@ -37,4 +37,4 @@ Dynamic: requires-dist
37
37
  Dynamic: requires-python
38
38
  Dynamic: summary
39
39
 
40
- Commit 3f35845. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
40
+ Commit b8a319d. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -0,0 +1 @@
1
+ {"name": "certora-cli-beta-mirror", "tag": "7.29.1", "branch": "", "commit": "b8a319d", "timestamp": "20250513.15.48.862437", "version": "7.29.1"}
@@ -3,11 +3,11 @@ import setuptools
3
3
 
4
4
  setuptools.setup(
5
5
  name="certora-cli-beta-mirror",
6
- version="7.29.0",
6
+ version="7.29.1",
7
7
  author="Certora",
8
8
  author_email="support@certora.com",
9
9
  description="Runner for the Certora Prover",
10
- long_description="Commit 3f35845. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.",
10
+ long_description="Commit b8a319d. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.",
11
11
  long_description_content_type="text/markdown",
12
12
  url="https://pypi.org/project/certora-cli-beta-mirror",
13
13
  packages=setuptools.find_packages(),
@@ -1 +0,0 @@
1
- Commit 3f35845. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -1 +0,0 @@
1
- {"name": "certora-cli-beta-mirror", "tag": "7.29.0", "branch": "", "commit": "3f35845", "timestamp": "20250508.13.19.941262", "version": "7.29.0"}