certora-cli-alpha-master 20241225.17.24.261853__tar.gz → 20241226.17.51.259914__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-20241225.17.24.261853/certora_cli_alpha_master.egg-info → certora_cli_alpha_master-20241226.17.51.259914}/PKG-INFO +2 -2
  2. certora_cli_alpha_master-20241226.17.51.259914/README.md +1 -0
  3. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraBuildRust.py +7 -7
  4. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraCloudIO.py +5 -5
  5. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraContextAttributes.py +30 -0
  6. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraParseBuildScript.py +6 -1
  7. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Shared/certoraAttrUtil.py +1 -1
  8. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Shared/certoraValidateFuncs.py +11 -0
  9. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914/certora_cli_alpha_master.egg-info}/PKG-INFO +2 -2
  10. certora_cli_alpha_master-20241226.17.51.259914/certora_jars/CERTORA-CLI-VERSION-METADATA.json +1 -0
  11. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_jars/Typechecker.jar +0 -0
  12. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/setup.py +2 -2
  13. certora_cli_alpha_master-20241225.17.24.261853/README.md +0 -1
  14. certora_cli_alpha_master-20241225.17.24.261853/certora_jars/CERTORA-CLI-VERSION-METADATA.json +0 -1
  15. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/LICENSE +0 -0
  16. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/MANIFEST.in +0 -0
  17. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_bins/__init__.py +0 -0
  18. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/Compiler/CompilerCollector.py +0 -0
  19. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/Compiler/CompilerCollectorFactory.py +0 -0
  20. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/Compiler/CompilerCollectorSol.py +0 -0
  21. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/Compiler/CompilerCollectorSolBased.py +0 -0
  22. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/Compiler/CompilerCollectorVy.py +0 -0
  23. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/Compiler/CompilerCollectorYul.py +0 -0
  24. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/Compiler/__init__.py +0 -0
  25. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/__init__.py +0 -0
  26. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraBuild.py +0 -0
  27. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraBuildCacheManager.py +0 -0
  28. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraBuildDataClasses.py +0 -0
  29. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraCollectRunMetadata.py +0 -0
  30. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraCompilerParameters.py +0 -0
  31. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraConfigIO.py +0 -0
  32. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraContext.py +0 -0
  33. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraContextClass.py +0 -0
  34. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraContextValidator.py +0 -0
  35. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraContractFuncs.py +0 -0
  36. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraExtensionInfo.py +0 -0
  37. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraJobList.py +0 -0
  38. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraMiniSpecParser.py +0 -0
  39. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraNodeFilters.py +0 -0
  40. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraSourceFinders.py +0 -0
  41. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraType.py +0 -0
  42. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EVMVerifier/certoraVerifyGenerator.py +0 -0
  43. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EquivalenceCheck/Eq_default.conf +0 -0
  44. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EquivalenceCheck/Eq_mc_no_out_template.spec +0 -0
  45. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EquivalenceCheck/Eq_mc_template.spec +0 -0
  46. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EquivalenceCheck/Eq_sanity.conf +0 -0
  47. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EquivalenceCheck/Eq_template.spec +0 -0
  48. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EquivalenceCheck/__init__.py +0 -0
  49. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EquivalenceCheck/equivCheck.py +0 -0
  50. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/EquivalenceCheck/sanity.spec +0 -0
  51. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Mutate/__init__.py +0 -0
  52. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Mutate/mutateApp.py +0 -0
  53. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Mutate/mutateAttributes.py +0 -0
  54. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Mutate/mutateConstants.py +0 -0
  55. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Mutate/mutateUtil.py +0 -0
  56. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Mutate/mutateValidate.py +0 -0
  57. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Shared/ExpectedComparator.py +0 -0
  58. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Shared/__init__.py +0 -0
  59. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Shared/certoraLogging.py +0 -0
  60. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/Shared/certoraUtils.py +0 -0
  61. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/__init__.py +0 -0
  62. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/certoraEVMProver.py +0 -0
  63. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/certoraEqCheck.py +0 -0
  64. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/certoraMutate.py +0 -0
  65. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/certoraRun.py +0 -0
  66. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/certoraSolanaProver.py +0 -0
  67. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/certoraSorobanProver.py +0 -0
  68. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli/rustMutator.py +0 -0
  69. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli_alpha_master.egg-info/SOURCES.txt +0 -0
  70. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli_alpha_master.egg-info/dependency_links.txt +0 -0
  71. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli_alpha_master.egg-info/entry_points.txt +0 -0
  72. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli_alpha_master.egg-info/requires.txt +0 -0
  73. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_cli_alpha_master.egg-info/top_level.txt +0 -0
  74. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/certora_jars/__init__.py +0 -0
  75. {certora_cli_alpha_master-20241225.17.24.261853 → certora_cli_alpha_master-20241226.17.51.259914}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: certora-cli-alpha-master
3
- Version: 20241225.17.24.261853
3
+ Version: 20241226.17.51.259914
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli-alpha-master
6
6
  Author: Certora
@@ -24,4 +24,4 @@ Requires-Dist: tomli
24
24
  Requires-Dist: universalmutator
25
25
  Requires-Dist: jinja2
26
26
 
27
- Commit 9f06838. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
27
+ Commit 1fc6200. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -0,0 +1 @@
1
+ Commit 1fc6200. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -60,10 +60,10 @@ def copy_files_to_build_dir(context: CertoraContext, root_directory: Path) -> No
60
60
  rust_executable = root_directory / context.rust_executables
61
61
  shutil.copyfile(rust_executable, Util.get_build_dir() / rust_executable.name)
62
62
 
63
- if context.prover_resource_files:
64
- for value in context.prover_resource_files:
65
- _, file_path = value.split(':')
66
- cur_path = (Path(context.conf_file).parent / file_path).resolve()
67
- shutil.copy(cur_path, Util.get_build_dir() / cur_path.name)
68
- if cur_path.suffix == '.txt':
69
- shutil.copy(cur_path, Util.get_certora_sources_dir() / cur_path.name)
63
+ if hasattr(context, 'solana_inlining') and context.solana_inlining:
64
+ solana_inlining = Path(context.solana_inlining).resolve()
65
+ shutil.copy(solana_inlining, Util.get_build_dir() / solana_inlining.name)
66
+
67
+ if hasattr(context, 'solana_summaries') and context.solana_summaries:
68
+ solana_summaries = Path(context.solana_summaries).resolve()
69
+ shutil.copy(solana_summaries, Util.get_build_dir() / solana_summaries.name)
@@ -749,11 +749,11 @@ class CloudVerification:
749
749
 
750
750
  files_list.append(Util.get_build_dir() / Path(self.context.rust_executables).name)
751
751
 
752
- if self.context.prover_resource_files:
753
- for value in self.context.prover_resource_files:
754
- _, file_path = value.split(':')
755
- cur_path = (Path(self.context.conf_file).parent / Path(file_path)).resolve()
756
- files_list.append(Util.get_build_dir() / cur_path.name)
752
+ if hasattr(self.context, 'solana_inlining') and self.context.solana_inlining:
753
+ files_list.append(Util.get_build_dir() / Path(self.context.solana_inlining).name)
754
+
755
+ if hasattr(self.context, 'solana_summaries') and self.context.solana_summaries:
756
+ files_list.append(Util.get_build_dir() / Path(self.context.solana_summaries).name)
757
757
 
758
758
  result = compress_files(self.ZipFilePath, *files_list,
759
759
  short_output=Ctx.is_minimal_cli_output(self.context))
@@ -1399,6 +1399,16 @@ class RustAttributes(AttrUtil.Attributes):
1399
1399
  disables_build_cache=False
1400
1400
  )
1401
1401
 
1402
+ CARGO_FEATURES = AttrUtil.AttributeDefinition(
1403
+ attr_validation_func=Vf.validate_non_empty_string,
1404
+ help_msg="a white space separated list of strings that are extra features passed to the build_script",
1405
+ argparse_args={
1406
+ 'action': AttrUtil.UniqueStore
1407
+ },
1408
+ affects_build_cache_key=False,
1409
+ disables_build_cache=False
1410
+ )
1411
+
1402
1412
 
1403
1413
  class EvmProverAttributes(CommonAttributes, DeprecatedAttributes, EvmAttributes, InternalUseAttributes,
1404
1414
  BackendAttributes):
@@ -1443,6 +1453,26 @@ class SolanaProverAttributes(CommonAttributes, InternalUseAttributes, BackendAtt
1443
1453
  disables_build_cache=False
1444
1454
  )
1445
1455
 
1456
+ SOLANA_INLINING = AttrUtil.AttributeDefinition(
1457
+ attr_validation_func=Vf.validate_readable_file,
1458
+ help_msg="a path for the inlining file for Solana contract",
1459
+ argparse_args={
1460
+ 'action': AttrUtil.UniqueStore
1461
+ },
1462
+ affects_build_cache_key=False,
1463
+ disables_build_cache=False
1464
+ )
1465
+
1466
+ SOLANA_SUMMARIES = AttrUtil.AttributeDefinition(
1467
+ attr_validation_func=Vf.validate_readable_file,
1468
+ help_msg="a path for the summaries file for Solana contract",
1469
+ argparse_args={
1470
+ 'action': AttrUtil.UniqueStore
1471
+ },
1472
+ affects_build_cache_key=False,
1473
+ disables_build_cache=False
1474
+ )
1475
+
1446
1476
 
1447
1477
  ATTRIBUTES_CLASS: Optional[Type[AttrUtil.Attributes]] = None
1448
1478
 
@@ -13,7 +13,12 @@ def run_script_and_parse_json(context: CertoraContext) -> None:
13
13
  return
14
14
  try:
15
15
  build_script_logger.info(f"Building from script {context.build_script}")
16
- result = subprocess.run([context.build_script, '--json'], capture_output=True, text=True)
16
+ run_cmd = [context.build_script, '--json']
17
+ if context.cargo_features is not None:
18
+ run_cmd.append('--cargo_features')
19
+ for feature in context.cargo_features.split(' '):
20
+ run_cmd.append(feature)
21
+ result = subprocess.run(run_cmd, capture_output=True, text=True)
17
22
 
18
23
  # Check if the script executed successfully
19
24
  if result.returncode != 0:
@@ -100,7 +100,7 @@ class AttributeDefinition:
100
100
  self.attr_validation_func(value)
101
101
  except Util.CertoraUserInputError as e:
102
102
  msg = f"attribute/flag '{self.name.lower()}': {e}"
103
- if cli_flag and isinstance(value, str) and value.strip()[0] == '-':
103
+ if cli_flag and isinstance(value, str) and value and value.strip()[0] == '-':
104
104
  flag_error = f'{value}: Please remember, CLI flags should be preceded with double dashes. ' \
105
105
  f'{Util.NEW_LINE}For more help run the tool with the option --help'
106
106
  msg = flag_error + msg
@@ -152,6 +152,17 @@ def validate_non_negative_integer(string: str) -> str:
152
152
  return string
153
153
 
154
154
 
155
+ def validate_non_empty_string(value: str) -> str:
156
+ """
157
+ :param value: A string
158
+ :return: The same string, if the string represents a non-empty string
159
+ :raises CertoraUserInputError if the string is empty
160
+ """
161
+ if not value:
162
+ raise Util.CertoraUserInputError('expected a non-empty string')
163
+ return value
164
+
165
+
155
166
  def validate_manual_mutants(value: Any) -> Any:
156
167
  return validate_mutant_attributes(value, Constants.MANUAL_MUTANTS)
157
168
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: certora-cli-alpha-master
3
- Version: 20241225.17.24.261853
3
+ Version: 20241226.17.51.259914
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli-alpha-master
6
6
  Author: Certora
@@ -24,4 +24,4 @@ Requires-Dist: tomli
24
24
  Requires-Dist: universalmutator
25
25
  Requires-Dist: jinja2
26
26
 
27
- Commit 9f06838. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
27
+ Commit 1fc6200. 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": "1fc6200", "timestamp": "20241226.17.51.259914", "version": "20241226.17.51.259914+1fc6200"}
@@ -3,11 +3,11 @@ import setuptools
3
3
 
4
4
  setuptools.setup(
5
5
  name="certora-cli-alpha-master",
6
- version="20241225.17.24.261853",
6
+ version="20241226.17.51.259914",
7
7
  author="Certora",
8
8
  author_email="support@certora.com",
9
9
  description="Runner for the Certora Prover",
10
- long_description="Commit 9f06838. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.",
10
+ long_description="Commit 1fc6200. 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(),
@@ -1 +0,0 @@
1
- Commit 9f06838. 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": "9f06838", "timestamp": "20241225.17.24.261853", "version": "20241225.17.24.261853+9f06838"}