certora-cli-alpha-master 20241229.15.7.448763__py3-none-macosx_10_9_universal2.whl → 20250102.15.39.446615__py3-none-macosx_10_9_universal2.whl

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.

@@ -1,4 +1,5 @@
1
1
  import glob
2
+ import os
2
3
  import shutil
3
4
  from pathlib import Path
4
5
  from typing import Set
@@ -60,10 +61,16 @@ def copy_files_to_build_dir(context: CertoraContext, root_directory: Path) -> No
60
61
  rust_executable = root_directory / context.rust_executables
61
62
  shutil.copyfile(rust_executable, Util.get_build_dir() / rust_executable.name)
62
63
 
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)
64
+ additional_files = (getattr(context, 'solana_inlining', None) or []) + \
65
+ (getattr(context, 'solana_summaries', None) or [])
66
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)
67
+ for file in additional_files:
68
+ file_path = Path(file).resolve()
69
+ shutil.copy(file_path, Util.get_build_dir() / file_path.name)
70
+ shutil.copy(file_path,
71
+ Util.get_certora_sources_dir() / os.path.relpath(file_path, context.rust_project_directory))
72
+
73
+ if rust_logs := getattr(context, 'rust_logs_stdout', None):
74
+ shutil.copy(Path(rust_logs), Util.get_build_dir() / Path(rust_logs).name)
75
+ if rust_logs := getattr(context, 'rust_logs_stderr', None):
76
+ shutil.copy(Path(rust_logs), Util.get_build_dir() / Path(rust_logs).name)
@@ -749,11 +749,20 @@ class CloudVerification:
749
749
 
750
750
  files_list.append(Util.get_build_dir() / Path(self.context.rust_executables).name)
751
751
 
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)
752
+ # Create a .RustExecution file to classify zipInput as a rust source code
753
+ rust_execution_file = Util.get_build_dir() / ".RustExecution"
754
+ rust_execution_file.touch(exist_ok=True)
755
+ files_list.append(rust_execution_file)
756
+
757
+ additional_files = (getattr(self.context, 'solana_inlining', None) or []) + \
758
+ (getattr(self.context, 'solana_summaries', None) or [])
759
+ for file in additional_files:
760
+ files_list.append(Util.get_build_dir() / Path(file).name)
761
+
762
+ if attr_file := getattr(self.context, 'rust_logs_stdout', None):
763
+ files_list.append(Util.get_build_dir() / Path(attr_file).name)
764
+ if attr_file := getattr(self.context, 'rust_logs_stderr', None):
765
+ files_list.append(Util.get_build_dir() / Path(attr_file).name)
757
766
 
758
767
  result = compress_files(self.ZipFilePath, *files_list,
759
768
  short_output=Ctx.is_minimal_cli_output(self.context))
@@ -1455,9 +1455,11 @@ class SolanaProverAttributes(CommonAttributes, InternalUseAttributes, BackendAtt
1455
1455
 
1456
1456
  SOLANA_INLINING = AttrUtil.AttributeDefinition(
1457
1457
  attr_validation_func=Vf.validate_readable_file,
1458
- help_msg="a path for the inlining file for Solana contract",
1458
+ arg_type=AttrUtil.AttrArgType.LIST,
1459
+ help_msg="a list of paths for the inlining files of Solana contracts",
1459
1460
  argparse_args={
1460
- 'action': AttrUtil.UniqueStore
1461
+ 'nargs': AttrUtil.ONE_OR_MORE_OCCURRENCES,
1462
+ 'action': AttrUtil.APPEND
1461
1463
  },
1462
1464
  affects_build_cache_key=False,
1463
1465
  disables_build_cache=False
@@ -1465,9 +1467,11 @@ class SolanaProverAttributes(CommonAttributes, InternalUseAttributes, BackendAtt
1465
1467
 
1466
1468
  SOLANA_SUMMARIES = AttrUtil.AttributeDefinition(
1467
1469
  attr_validation_func=Vf.validate_readable_file,
1468
- help_msg="a path for the summaries file for Solana contract",
1470
+ arg_type=AttrUtil.AttrArgType.LIST,
1471
+ help_msg="a list of paths for the summaries files of Solana contracts",
1469
1472
  argparse_args={
1470
- 'action': AttrUtil.UniqueStore
1473
+ 'nargs': AttrUtil.ONE_OR_MORE_OCCURRENCES,
1474
+ 'action': AttrUtil.APPEND
1471
1475
  },
1472
1476
  affects_build_cache_key=False,
1473
1477
  disables_build_cache=False
@@ -41,6 +41,9 @@ def run_script_and_parse_json(context: CertoraContext) -> None:
41
41
  context.rust_project_directory = json_obj.get("project_directory")
42
42
  context.rust_sources = json_obj.get("sources")
43
43
  context.rust_executables = json_obj.get("executables")
44
+ if json_obj.get("log") is not None:
45
+ context.rust_logs_stdout = json_obj.get("log").get('stdout')
46
+ context.rust_logs_stderr = json_obj.get("log").get('stderr')
44
47
 
45
48
  if context.test == str(Util.TestValue.AFTER_BUILD_RUST):
46
49
  raise Util.TestResultsReady(None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: certora-cli-alpha-master
3
- Version: 20241229.15.7.448763
3
+ Version: 20250102.15.39.446615
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 c943bd8. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
27
+ Commit e6644f0. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -12,13 +12,13 @@ certora_cli/EVMVerifier/__init__.py,sha256=AJxj90KAGh1JqAsxKqDBTL2rFbqgtkhDfW_Xm
12
12
  certora_cli/EVMVerifier/certoraBuild.py,sha256=SNpafLfTRInMrns6OuI9WUrJXP7Yt4Fv53pUnpI_j60,203520
13
13
  certora_cli/EVMVerifier/certoraBuildCacheManager.py,sha256=ZSVCsdTkFFtawuNJ8VK3wJOb01Uyu5e8viPQ8wTziSQ,12563
14
14
  certora_cli/EVMVerifier/certoraBuildDataClasses.py,sha256=4IhvOA_fg-ij5RM9RRlvDDoS7imfp4Zru-AgHhxcHc0,13314
15
- certora_cli/EVMVerifier/certoraBuildRust.py,sha256=5cMp9goJ2tGpi0stDmPZaV0hOxm_NSllJQ3YO_QvOc4,3008
16
- certora_cli/EVMVerifier/certoraCloudIO.py,sha256=JJlXoej6jLFEZs9CAl1YghRNd9EQw9_lreS1_EnSP-k,53453
15
+ certora_cli/EVMVerifier/certoraBuildRust.py,sha256=GN5r8avFmhXen8ugaOa0RDr8UK3a3Z0jCQB4ct8oPso,3305
16
+ certora_cli/EVMVerifier/certoraCloudIO.py,sha256=B8d_DKnDiKH1nkQhzToVyKwVEfa88luFg42dAorgw44,53976
17
17
  certora_cli/EVMVerifier/certoraCollectRunMetadata.py,sha256=selEf-p7UW8_70-AbPfa5659ki6WcGrBwfPkUQWKhFU,10322
18
18
  certora_cli/EVMVerifier/certoraCompilerParameters.py,sha256=PDKW3K_lNeRNPHisW0e5hYtfu6unDRjJUop-yItGHO0,762
19
19
  certora_cli/EVMVerifier/certoraConfigIO.py,sha256=zlXcSAXPXQEhCdOqbogNLgIRSURFQgArYjFKd3VMkfg,4693
20
20
  certora_cli/EVMVerifier/certoraContext.py,sha256=52YMEYYm67F_AsDZoIFjgcR34gQQDTnlmhiH9VrLCYE,21649
21
- certora_cli/EVMVerifier/certoraContextAttributes.py,sha256=sg2IOEV4tdubHkRdmEWDY8bAHVAZLh6iWSgSK3OjecY,56738
21
+ certora_cli/EVMVerifier/certoraContextAttributes.py,sha256=sukGq7f08e6GodDr9G9N1bZdK4l5XhMmRo7Ao4kBLzg,56946
22
22
  certora_cli/EVMVerifier/certoraContextClass.py,sha256=qdHYmrzI4zeQaAaMnonw4C-h1PFrPEhI84trrgvxFj0,210
23
23
  certora_cli/EVMVerifier/certoraContextValidator.py,sha256=_vS3CDY8cJRqxtujwiz7rwRFVgDVxNb40YgUU4t4BPM,37585
24
24
  certora_cli/EVMVerifier/certoraContractFuncs.py,sha256=W3lAvKotGKK7ZGJLg4yYh0FzTwwSQJbZMpizyGaYXZo,6229
@@ -26,7 +26,7 @@ certora_cli/EVMVerifier/certoraExtensionInfo.py,sha256=bHjEBKg3qQ1lS419KSU6v6HKb
26
26
  certora_cli/EVMVerifier/certoraJobList.py,sha256=JlPOANEzNHP6cDrM5UKfO314pmWYokuhAPTkH3ezNb4,10768
27
27
  certora_cli/EVMVerifier/certoraMiniSpecParser.py,sha256=Thtcr1BLmCz9xOiOkaP04mSnrDaqIUOUSCM81TrqD_s,8970
28
28
  certora_cli/EVMVerifier/certoraNodeFilters.py,sha256=0e8iPdj4cWjwReaAhfJhpdnSUYc8gephmKQzOOP5X_g,2140
29
- certora_cli/EVMVerifier/certoraParseBuildScript.py,sha256=e_rvwH4dh0XvO2khGy2EW7x9aqf4G3R7glJ1_AXt-M0,2276
29
+ certora_cli/EVMVerifier/certoraParseBuildScript.py,sha256=GG0VVRNUT--4Wu7F_4pLIWmpzz4sDyX5UdftvJD32b4,2466
30
30
  certora_cli/EVMVerifier/certoraSourceFinders.py,sha256=fZLYGjNgntIySnG76DwsjRZ-UHiy0zEkM6xNP7cYpDE,18342
31
31
  certora_cli/EVMVerifier/certoraType.py,sha256=TPrgRwUnY-krN1SxpCHGB0zwN-TR1bxb-NFdnaigA-k,28626
32
32
  certora_cli/EVMVerifier/certoraVerifyGenerator.py,sha256=OT5zrtQMXDoaVdGfQ4_gbAnITin3nlXgXTgw3msqlNQ,9452
@@ -57,12 +57,12 @@ certora_cli/Shared/certoraAttrUtil.py,sha256=hUi1ye5kIAHGZqCR1YbXayn5-ToZi3WAa4M
57
57
  certora_cli/Shared/certoraLogging.py,sha256=5Lx-XWKl7GnwnWi7KlwTLIfsEvUvCTZ8KeyfNyi_6RU,13323
58
58
  certora_cli/Shared/certoraUtils.py,sha256=WmVX8Hz5wMZ7WI2JhYavAilH1kO3fwKLUBsf4hQ4b-o,53676
59
59
  certora_cli/Shared/certoraValidateFuncs.py,sha256=qbN2h6MApnLucKvzfJ_dnBa135lLLTGE9Q7MlCBP3Fc,37204
60
- certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=pni1HHwlbeUVVhBFcKGEdyXuNyzEfQjFuGxDkubVdTg,168
61
- certora_jars/Typechecker.jar,sha256=iOyJF3MHhqGJYdMTYhch5m2FFiuIdvIABKXWJyKqCb8,16816756
60
+ certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=hUexzmgKYkRbNBi_kxHuHeLMNuS8Yop8TfMP5-kVniI,170
61
+ certora_jars/Typechecker.jar,sha256=lbObkgIk0J64JKCkKmWTY9sk1DnDPaZpHmiDvKDT8E8,16816756
62
62
  certora_jars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- certora_cli_alpha_master-20241229.15.7.448763.dist-info/LICENSE,sha256=VeEBJLgfzZqyAUfjLoKUztf7KJBBUjtZ1ap99eQubOo,1065
64
- certora_cli_alpha_master-20241229.15.7.448763.dist-info/METADATA,sha256=aR9tlKwDs1n_dfv3Aa8eNaPfmJUp5Wdwa6Ttfqf8KJM,859
65
- certora_cli_alpha_master-20241229.15.7.448763.dist-info/WHEEL,sha256=N3Zagyg8u7FcZiPCx4UnuNyRRYq7IQpu24eWYyuhGOQ,110
66
- certora_cli_alpha_master-20241229.15.7.448763.dist-info/entry_points.txt,sha256=x2dyit80wAtF72k5CQj9F5lnWZEmP9ioseqvrEGWyFc,389
67
- certora_cli_alpha_master-20241229.15.7.448763.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
68
- certora_cli_alpha_master-20241229.15.7.448763.dist-info/RECORD,,
63
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/LICENSE,sha256=VeEBJLgfzZqyAUfjLoKUztf7KJBBUjtZ1ap99eQubOo,1065
64
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/METADATA,sha256=CfTInQdRNGbMUW6-sENswHThOJNWqNDaUT-jY20kDy4,860
65
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/WHEEL,sha256=N3Zagyg8u7FcZiPCx4UnuNyRRYq7IQpu24eWYyuhGOQ,110
66
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/entry_points.txt,sha256=x2dyit80wAtF72k5CQj9F5lnWZEmP9ioseqvrEGWyFc,389
67
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
68
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/RECORD,,
@@ -1 +1 @@
1
- {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "c943bd8", "timestamp": "20241229.15.7.448763", "version": "20241229.15.7.448763+c943bd8"}
1
+ {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "e6644f0", "timestamp": "20250102.15.39.446615", "version": "20250102.15.39.446615+e6644f0"}
Binary file