certora-cli-alpha-master 20241224.22.35.130611__tar.gz → 20241225.17.24.261853__tar.gz

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of certora-cli-alpha-master might be problematic. Click here for more details.

Files changed (75) hide show
  1. {certora_cli_alpha_master-20241224.22.35.130611/certora_cli_alpha_master.egg-info → certora_cli_alpha_master-20241225.17.24.261853}/PKG-INFO +3 -2
  2. certora_cli_alpha_master-20241225.17.24.261853/README.md +1 -0
  3. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraConfigIO.py +10 -8
  4. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraContextAttributes.py +2 -1
  5. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraParseBuildScript.py +16 -2
  6. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853/certora_cli_alpha_master.egg-info}/PKG-INFO +3 -2
  7. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli_alpha_master.egg-info/requires.txt +1 -0
  8. certora_cli_alpha_master-20241225.17.24.261853/certora_jars/CERTORA-CLI-VERSION-METADATA.json +1 -0
  9. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_jars/Typechecker.jar +0 -0
  10. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/setup.py +3 -3
  11. certora_cli_alpha_master-20241224.22.35.130611/README.md +0 -1
  12. certora_cli_alpha_master-20241224.22.35.130611/certora_jars/CERTORA-CLI-VERSION-METADATA.json +0 -1
  13. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/LICENSE +0 -0
  14. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/MANIFEST.in +0 -0
  15. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_bins/__init__.py +0 -0
  16. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/Compiler/CompilerCollector.py +0 -0
  17. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/Compiler/CompilerCollectorFactory.py +0 -0
  18. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/Compiler/CompilerCollectorSol.py +0 -0
  19. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/Compiler/CompilerCollectorSolBased.py +0 -0
  20. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/Compiler/CompilerCollectorVy.py +0 -0
  21. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/Compiler/CompilerCollectorYul.py +0 -0
  22. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/Compiler/__init__.py +0 -0
  23. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/__init__.py +0 -0
  24. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraBuild.py +0 -0
  25. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraBuildCacheManager.py +0 -0
  26. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraBuildDataClasses.py +0 -0
  27. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraBuildRust.py +0 -0
  28. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraCloudIO.py +0 -0
  29. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraCollectRunMetadata.py +0 -0
  30. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraCompilerParameters.py +0 -0
  31. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraContext.py +0 -0
  32. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraContextClass.py +0 -0
  33. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraContextValidator.py +0 -0
  34. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraContractFuncs.py +0 -0
  35. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraExtensionInfo.py +0 -0
  36. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraJobList.py +0 -0
  37. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraMiniSpecParser.py +0 -0
  38. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraNodeFilters.py +0 -0
  39. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraSourceFinders.py +0 -0
  40. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraType.py +0 -0
  41. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EVMVerifier/certoraVerifyGenerator.py +0 -0
  42. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EquivalenceCheck/Eq_default.conf +0 -0
  43. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EquivalenceCheck/Eq_mc_no_out_template.spec +0 -0
  44. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EquivalenceCheck/Eq_mc_template.spec +0 -0
  45. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EquivalenceCheck/Eq_sanity.conf +0 -0
  46. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EquivalenceCheck/Eq_template.spec +0 -0
  47. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EquivalenceCheck/__init__.py +0 -0
  48. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EquivalenceCheck/equivCheck.py +0 -0
  49. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/EquivalenceCheck/sanity.spec +0 -0
  50. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Mutate/__init__.py +0 -0
  51. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Mutate/mutateApp.py +0 -0
  52. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Mutate/mutateAttributes.py +0 -0
  53. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Mutate/mutateConstants.py +0 -0
  54. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Mutate/mutateUtil.py +0 -0
  55. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Mutate/mutateValidate.py +0 -0
  56. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Shared/ExpectedComparator.py +0 -0
  57. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Shared/__init__.py +0 -0
  58. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Shared/certoraAttrUtil.py +0 -0
  59. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Shared/certoraLogging.py +0 -0
  60. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Shared/certoraUtils.py +0 -0
  61. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/Shared/certoraValidateFuncs.py +0 -0
  62. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/__init__.py +0 -0
  63. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/certoraEVMProver.py +0 -0
  64. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/certoraEqCheck.py +0 -0
  65. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/certoraMutate.py +0 -0
  66. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/certoraRun.py +0 -0
  67. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/certoraSolanaProver.py +0 -0
  68. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/certoraSorobanProver.py +0 -0
  69. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli/rustMutator.py +0 -0
  70. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli_alpha_master.egg-info/SOURCES.txt +0 -0
  71. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli_alpha_master.egg-info/dependency_links.txt +0 -0
  72. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli_alpha_master.egg-info/entry_points.txt +0 -0
  73. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_cli_alpha_master.egg-info/top_level.txt +0 -0
  74. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/certora_jars/__init__.py +0 -0
  75. {certora_cli_alpha_master-20241224.22.35.130611 → certora_cli_alpha_master-20241225.17.24.261853}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: certora-cli-alpha-master
3
- Version: 20241224.22.35.130611
3
+ Version: 20241225.17.24.261853
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli-alpha-master
6
6
  Author: Certora
@@ -22,5 +22,6 @@ Requires-Dist: tqdm
22
22
  Requires-Dist: StrEnum
23
23
  Requires-Dist: tomli
24
24
  Requires-Dist: universalmutator
25
+ Requires-Dist: jinja2
25
26
 
26
- Commit cbc5345. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
27
+ Commit 9f06838. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -0,0 +1 @@
1
+ Commit 9f06838. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -61,7 +61,7 @@ def read_from_conf_file(context: CertoraContext) -> None:
61
61
  try:
62
62
  check_conf_content(configuration, context)
63
63
  except Util.CertoraUserInputError as e:
64
- raise Util.CertoraUserInputError(f"Error when reading {conf_file_path}", e) from None
64
+ raise Util.CertoraUserInputError(f"Error when reading {conf_file_path}: {str(e)}", e) from None
65
65
  context.conf_file = str(conf_file_path)
66
66
 
67
67
 
@@ -86,10 +86,12 @@ def check_conf_content(conf: Dict[str, Any], context: CertoraContext) -> None:
86
86
  else:
87
87
  raise Util.CertoraUserInputError(f"{option} appears in the conf file but is not a known attribute. ")
88
88
 
89
- if 'files' not in conf:
90
- if Attrs.is_rust_app() and hasattr(context, 'build_script') and context.build_script is not None:
91
- context.files = conf.get('files', None) # Override the current .conf file
92
- else:
93
- raise Util.CertoraUserInputError("Mandatory 'files' attribute is missing from the configuration")
94
- else:
95
- context.files = conf['files'] # Override the current .conf file
89
+ if Attrs.is_evm_app() and 'files' not in conf:
90
+ raise Util.CertoraUserInputError("Mandatory 'files' attribute is missing from the configuration")
91
+
92
+ if Attrs.is_rust_app():
93
+ has_build_script = getattr(context, 'build_script', False)
94
+ if not has_build_script and 'files' not in conf:
95
+ raise Util.CertoraUserInputError("Mandatory 'build_script' or 'files' attribute is missing from the configuration")
96
+
97
+ context.files = conf.get('files')
@@ -1389,7 +1389,8 @@ class BackendAttributes(AttrUtil.Attributes):
1389
1389
  class RustAttributes(AttrUtil.Attributes):
1390
1390
 
1391
1391
  BUILD_SCRIPT = AttrUtil.AttributeDefinition(
1392
- help_msg="Python script to build the project",
1392
+ attr_validation_func=Vf.validate_exec_file,
1393
+ help_msg="script to build a rust project",
1393
1394
  default_desc="Using default building command",
1394
1395
  argparse_args={
1395
1396
  'action': AttrUtil.UniqueStore
@@ -21,13 +21,27 @@ def run_script_and_parse_json(context: CertoraContext) -> None:
21
21
 
22
22
  json_obj = json.loads(result.stdout)
23
23
 
24
- if not json_obj or not json_obj.get("success"):
25
- raise Util.CertoraUserInputError(f"{result.stderr}\nBuild from {context.build_script} failed")
24
+ if not json_obj:
25
+ raise Util.CertoraUserInputError(f"No JSON output from build script {context.build_script}")
26
+
27
+ if missing_keys := [key for key in ["success", "project_directory", "sources", "executables"] if key not in json_obj]:
28
+ raise Util.CertoraUserInputError(f"Missing required keys in build script response: {', '.join(missing_keys)}")
29
+
30
+ if not json_obj.get("success"):
31
+ raise Util.CertoraUserInputError(
32
+ f"Compilation failed using build script: {context.build_script}\n"
33
+ f"Success value in JSON response is False."
34
+ )
26
35
 
27
36
  context.rust_project_directory = json_obj.get("project_directory")
28
37
  context.rust_sources = json_obj.get("sources")
29
38
  context.rust_executables = json_obj.get("executables")
30
39
 
40
+ if context.test == str(Util.TestValue.AFTER_BUILD_RUST):
41
+ raise Util.TestResultsReady(None)
42
+
43
+ except Util.TestResultsReady as e:
44
+ raise e
31
45
  except FileNotFoundError as e:
32
46
  raise Util.CertoraUserInputError(f"File not found: {e}")
33
47
  except json.JSONDecodeError as e:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: certora-cli-alpha-master
3
- Version: 20241224.22.35.130611
3
+ Version: 20241225.17.24.261853
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli-alpha-master
6
6
  Author: Certora
@@ -22,5 +22,6 @@ Requires-Dist: tqdm
22
22
  Requires-Dist: StrEnum
23
23
  Requires-Dist: tomli
24
24
  Requires-Dist: universalmutator
25
+ Requires-Dist: jinja2
25
26
 
26
- Commit cbc5345. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
27
+ Commit 9f06838. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -0,0 +1 @@
1
+ {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "9f06838", "timestamp": "20241225.17.24.261853", "version": "20241225.17.24.261853+9f06838"}
@@ -3,16 +3,16 @@ import setuptools
3
3
 
4
4
  setuptools.setup(
5
5
  name="certora-cli-alpha-master",
6
- version="20241224.22.35.130611",
6
+ version="20241225.17.24.261853",
7
7
  author="Certora",
8
8
  author_email="support@certora.com",
9
9
  description="Runner for the Certora Prover",
10
- long_description="Commit cbc5345. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.",
10
+ long_description="Commit 9f06838. 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-alpha-master",
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'],
15
+ install_requires=['click', 'json5', 'pycryptodome', 'requests', 'rich', 'sly', 'tabulate', 'tqdm', 'StrEnum', 'tomli', 'universalmutator', 'jinja2'],
16
16
  classifiers=[
17
17
  "Programming Language :: Python :: 3",
18
18
  "License :: OSI Approved :: MIT License",
@@ -1 +0,0 @@
1
- Commit cbc5345. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -1 +0,0 @@
1
- {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "cbc5345", "timestamp": "20241224.22.35.130611", "version": "20241224.22.35.130611+cbc5345"}