certora-cli 7.25.3__tar.gz → 7.26.0__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-7.25.3 → certora_cli-7.26.0}/LICENSE +1 -1
  2. certora_cli-7.26.0/PKG-INFO +37 -0
  3. certora_cli-7.26.0/README.md +1 -0
  4. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Mutate/mutateApp.py +14 -5
  5. certora_cli-7.26.0/certora_cli.egg-info/PKG-INFO +37 -0
  6. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli.egg-info/requires.txt +1 -0
  7. certora_cli-7.26.0/certora_jars/CERTORA-CLI-VERSION-METADATA.json +1 -0
  8. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_jars/Typechecker.jar +0 -0
  9. {certora-cli-7.25.3 → certora_cli-7.26.0}/setup.py +3 -3
  10. certora-cli-7.25.3/PKG-INFO +0 -15
  11. certora-cli-7.25.3/README.md +0 -1
  12. certora-cli-7.25.3/certora_cli.egg-info/PKG-INFO +0 -15
  13. certora-cli-7.25.3/certora_jars/CERTORA-CLI-VERSION-METADATA.json +0 -1
  14. {certora-cli-7.25.3 → certora_cli-7.26.0}/MANIFEST.in +0 -0
  15. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_bins/__init__.py +0 -0
  16. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/Compiler/CompilerCollector.py +0 -0
  17. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorFactory.py +0 -0
  18. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorSol.py +0 -0
  19. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorSolBased.py +0 -0
  20. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorVy.py +0 -0
  21. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorYul.py +0 -0
  22. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/Compiler/__init__.py +0 -0
  23. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/__init__.py +0 -0
  24. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraBuild.py +0 -0
  25. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraBuildCacheManager.py +0 -0
  26. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraBuildDataClasses.py +0 -0
  27. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraBuildRust.py +0 -0
  28. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraCloudIO.py +0 -0
  29. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraCollectRunMetadata.py +0 -0
  30. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraCompilerParameters.py +0 -0
  31. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraConfigIO.py +0 -0
  32. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraContext.py +0 -0
  33. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraContextAttributes.py +0 -0
  34. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraContextClass.py +0 -0
  35. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraContextValidator.py +0 -0
  36. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraContractFuncs.py +0 -0
  37. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraExtensionInfo.py +0 -0
  38. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraJobList.py +0 -0
  39. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraMiniSpecParser.py +0 -0
  40. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraNodeFilters.py +0 -0
  41. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraParseBuildScript.py +0 -0
  42. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraProjectScanner.py +0 -0
  43. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraSourceFinders.py +0 -0
  44. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraType.py +0 -0
  45. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/certoraVerifyGenerator.py +0 -0
  46. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/CertoraProver/splitRules.py +0 -0
  47. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/EquivalenceCheck/Eq_default.conf +0 -0
  48. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/EquivalenceCheck/Eq_mc_no_out_template.spec +0 -0
  49. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/EquivalenceCheck/Eq_mc_template.spec +0 -0
  50. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/EquivalenceCheck/Eq_sanity.conf +0 -0
  51. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/EquivalenceCheck/Eq_template.spec +0 -0
  52. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/EquivalenceCheck/__init__.py +0 -0
  53. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/EquivalenceCheck/equivCheck.py +0 -0
  54. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/EquivalenceCheck/sanity.spec +0 -0
  55. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Mutate/__init__.py +0 -0
  56. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Mutate/mutateAttributes.py +0 -0
  57. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Mutate/mutateConstants.py +0 -0
  58. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Mutate/mutateUtil.py +0 -0
  59. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Mutate/mutateValidate.py +0 -0
  60. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Shared/ExpectedComparator.py +0 -0
  61. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Shared/__init__.py +0 -0
  62. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Shared/certoraAttrUtil.py +0 -0
  63. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Shared/certoraLogging.py +0 -0
  64. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Shared/certoraUtils.py +0 -0
  65. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/Shared/certoraValidateFuncs.py +0 -0
  66. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/__init__.py +0 -0
  67. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/certoraEVMProver.py +0 -0
  68. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/certoraEqCheck.py +0 -0
  69. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/certoraMutate.py +0 -0
  70. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/certoraRun.py +0 -0
  71. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/certoraSolanaProver.py +0 -0
  72. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/certoraSorobanProver.py +0 -0
  73. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli/rustMutator.py +0 -0
  74. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli.egg-info/SOURCES.txt +0 -0
  75. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli.egg-info/dependency_links.txt +0 -0
  76. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli.egg-info/entry_points.txt +0 -0
  77. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_cli.egg-info/top_level.txt +0 -0
  78. {certora-cli-7.25.3 → certora_cli-7.26.0}/certora_jars/__init__.py +0 -0
  79. {certora-cli-7.25.3 → certora_cli-7.26.0}/setup.cfg +0 -0
@@ -1,7 +1,7 @@
1
1
 
2
2
  MIT License
3
3
 
4
- Copyright (c) 2020 Certora
4
+ Copyright (c) 2025 Certora
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,37 @@
1
+ Metadata-Version: 2.2
2
+ Name: certora-cli
3
+ Version: 7.26.0
4
+ Summary: Runner for the Certora Prover
5
+ Home-page: https://pypi.org/project/certora-cli
6
+ Author: Certora
7
+ Author-email: support@certora.com
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.8
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: click
15
+ Requires-Dist: json5
16
+ Requires-Dist: pycryptodome
17
+ Requires-Dist: requests
18
+ Requires-Dist: rich
19
+ Requires-Dist: sly
20
+ Requires-Dist: tabulate
21
+ Requires-Dist: tqdm
22
+ Requires-Dist: StrEnum
23
+ Requires-Dist: tomli
24
+ Requires-Dist: universalmutator
25
+ Requires-Dist: jinja2
26
+ Requires-Dist: setuptools==75.8.2
27
+ Dynamic: author
28
+ Dynamic: author-email
29
+ Dynamic: classifier
30
+ Dynamic: description
31
+ Dynamic: description-content-type
32
+ Dynamic: home-page
33
+ Dynamic: requires-dist
34
+ Dynamic: requires-python
35
+ Dynamic: summary
36
+
37
+ Commit 4799cf7. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -0,0 +1 @@
1
+ Commit 4799cf7. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -895,11 +895,18 @@ class MutateApp:
895
895
  assert result_link, "submit_soroban: Null result_link"
896
896
 
897
897
  mutation_logger.info("Generating mutants and submitting...")
898
- generated_mutants: List[Mutant] = self.get_universal_mutator_mutants()
898
+ generated_mutants: List[Mutant] = []
899
+ if self.universal_mutator:
900
+ generated_mutants = self.get_universal_mutator_mutants()
899
901
 
902
+ if self.manual_mutants:
903
+ self.manual_mutants_list = self.get_manual_mutations_mutants()
904
+ mutation_logger.debug(f"successfully parsed manual mutants from {self.conf}")
905
+
906
+ all_mutants = generated_mutants + self.manual_mutants_list
900
907
  web_utils = WebUtils(SimpleNamespace(**vars(self)))
901
908
  # get the mutation test id
902
- self.numb_of_jobs = len(generated_mutants)
909
+ self.numb_of_jobs = len(all_mutants)
903
910
  self.mutation_test_id, collect_presigned_url = self.get_mutation_test_id_request(web_utils,
904
911
  self.numb_of_jobs + 1)
905
912
  mutation_logger.debug(f"Mutation test id: {self.mutation_test_id}")
@@ -922,7 +929,7 @@ class MutateApp:
922
929
  mutant_runs = []
923
930
  try:
924
931
  self.backup_paths = []
925
- for mutant in generated_mutants:
932
+ for mutant in all_mutants:
926
933
  # call certoraRun for each mutant we found
927
934
  mutant_runs.append(self.run_mutant_soroban(mutant))
928
935
  finally:
@@ -1142,7 +1149,8 @@ class MutateApp:
1142
1149
 
1143
1150
  try:
1144
1151
  certora_run_result = self.run_certora_prover(self.conf, self.mutation_test_id, msg=f"mutant ID: {mutant.id}")
1145
- except Util.CertoraUserInputError:
1152
+ except Util.CertoraUserInputError as e:
1153
+ Console().print(f"\n\nrun_mutant_soroban: prover failed\n{e}\n")
1146
1154
  return MutantJob(
1147
1155
  gambit_mutant=mutant,
1148
1156
  success=False,
@@ -1413,7 +1421,8 @@ class MutateApp:
1413
1421
  assert e.results, "expect e.results not to be None"
1414
1422
  certora_run_result = e.results
1415
1423
  except Exception as e:
1416
- raise Util.CertoraUserInputError(f"certoraRun failed with the parameters:\n {' '.join(certora_args)}", e)
1424
+ raise Util.CertoraUserInputError(f"certoraRun failed with the parameters:\n {' '.join(certora_args)}"
1425
+ f"\n\n{e}", e)
1417
1426
 
1418
1427
  return certora_run_result
1419
1428
 
@@ -0,0 +1,37 @@
1
+ Metadata-Version: 2.2
2
+ Name: certora-cli
3
+ Version: 7.26.0
4
+ Summary: Runner for the Certora Prover
5
+ Home-page: https://pypi.org/project/certora-cli
6
+ Author: Certora
7
+ Author-email: support@certora.com
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.8
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: click
15
+ Requires-Dist: json5
16
+ Requires-Dist: pycryptodome
17
+ Requires-Dist: requests
18
+ Requires-Dist: rich
19
+ Requires-Dist: sly
20
+ Requires-Dist: tabulate
21
+ Requires-Dist: tqdm
22
+ Requires-Dist: StrEnum
23
+ Requires-Dist: tomli
24
+ Requires-Dist: universalmutator
25
+ Requires-Dist: jinja2
26
+ Requires-Dist: setuptools==75.8.2
27
+ Dynamic: author
28
+ Dynamic: author-email
29
+ Dynamic: classifier
30
+ Dynamic: description
31
+ Dynamic: description-content-type
32
+ Dynamic: home-page
33
+ Dynamic: requires-dist
34
+ Dynamic: requires-python
35
+ Dynamic: summary
36
+
37
+ Commit 4799cf7. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -10,3 +10,4 @@ StrEnum
10
10
  tomli
11
11
  universalmutator
12
12
  jinja2
13
+ setuptools==75.8.2
@@ -0,0 +1 @@
1
+ {"name": "certora-cli", "tag": "7.26.0", "branch": "", "commit": "4799cf7", "timestamp": "20250313.13.14.555487", "version": "7.26.0"}
@@ -3,16 +3,16 @@ import setuptools
3
3
 
4
4
  setuptools.setup(
5
5
  name="certora-cli",
6
- version="7.25.3",
6
+ version="7.26.0",
7
7
  author="Certora",
8
8
  author_email="support@certora.com",
9
9
  description="Runner for the Certora Prover",
10
- long_description="Commit 97ac73d. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.",
10
+ long_description="Commit 4799cf7. 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",
13
13
  packages=setuptools.find_packages(),
14
14
  include_package_data=True,
15
- install_requires=['click', 'json5', 'pycryptodome', 'requests', 'rich', 'sly', 'tabulate', 'tqdm', 'StrEnum', 'tomli', 'universalmutator', 'jinja2'],
15
+ install_requires=['click', 'json5', 'pycryptodome', 'requests', 'rich', 'sly', 'tabulate', 'tqdm', 'StrEnum', 'tomli', 'universalmutator', 'jinja2', 'setuptools==75.8.2'],
16
16
  classifiers=[
17
17
  "Programming Language :: Python :: 3",
18
18
  "License :: OSI Approved :: MIT License",
@@ -1,15 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: certora-cli
3
- Version: 7.25.3
4
- Summary: Runner for the Certora Prover
5
- Home-page: https://pypi.org/project/certora-cli
6
- Author: Certora
7
- Author-email: support@certora.com
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.8
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
-
15
- Commit 97ac73d. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -1 +0,0 @@
1
- Commit 97ac73d. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -1,15 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: certora-cli
3
- Version: 7.25.3
4
- Summary: Runner for the Certora Prover
5
- Home-page: https://pypi.org/project/certora-cli
6
- Author: Certora
7
- Author-email: support@certora.com
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.8
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
-
15
- Commit 97ac73d. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -1 +0,0 @@
1
- {"name": "certora-cli", "tag": "7.25.3", "branch": "", "commit": "97ac73d", "timestamp": "20250226.21.37.789196", "version": "7.25.3"}
File without changes
File without changes