certora-cli-alpha-master 20241230.22.32.888836__py3-none-any.whl → 20250102.15.39.446615__py3-none-any.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: 20241230.22.32.888836
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 f3cb489. 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.
@@ -11,13 +11,13 @@ certora_cli/EVMVerifier/__init__.py,sha256=AJxj90KAGh1JqAsxKqDBTL2rFbqgtkhDfW_Xm
11
11
  certora_cli/EVMVerifier/certoraBuild.py,sha256=SNpafLfTRInMrns6OuI9WUrJXP7Yt4Fv53pUnpI_j60,203520
12
12
  certora_cli/EVMVerifier/certoraBuildCacheManager.py,sha256=ZSVCsdTkFFtawuNJ8VK3wJOb01Uyu5e8viPQ8wTziSQ,12563
13
13
  certora_cli/EVMVerifier/certoraBuildDataClasses.py,sha256=4IhvOA_fg-ij5RM9RRlvDDoS7imfp4Zru-AgHhxcHc0,13314
14
- certora_cli/EVMVerifier/certoraBuildRust.py,sha256=5cMp9goJ2tGpi0stDmPZaV0hOxm_NSllJQ3YO_QvOc4,3008
15
- certora_cli/EVMVerifier/certoraCloudIO.py,sha256=JJlXoej6jLFEZs9CAl1YghRNd9EQw9_lreS1_EnSP-k,53453
14
+ certora_cli/EVMVerifier/certoraBuildRust.py,sha256=GN5r8avFmhXen8ugaOa0RDr8UK3a3Z0jCQB4ct8oPso,3305
15
+ certora_cli/EVMVerifier/certoraCloudIO.py,sha256=B8d_DKnDiKH1nkQhzToVyKwVEfa88luFg42dAorgw44,53976
16
16
  certora_cli/EVMVerifier/certoraCollectRunMetadata.py,sha256=selEf-p7UW8_70-AbPfa5659ki6WcGrBwfPkUQWKhFU,10322
17
17
  certora_cli/EVMVerifier/certoraCompilerParameters.py,sha256=PDKW3K_lNeRNPHisW0e5hYtfu6unDRjJUop-yItGHO0,762
18
18
  certora_cli/EVMVerifier/certoraConfigIO.py,sha256=zlXcSAXPXQEhCdOqbogNLgIRSURFQgArYjFKd3VMkfg,4693
19
19
  certora_cli/EVMVerifier/certoraContext.py,sha256=52YMEYYm67F_AsDZoIFjgcR34gQQDTnlmhiH9VrLCYE,21649
20
- certora_cli/EVMVerifier/certoraContextAttributes.py,sha256=sg2IOEV4tdubHkRdmEWDY8bAHVAZLh6iWSgSK3OjecY,56738
20
+ certora_cli/EVMVerifier/certoraContextAttributes.py,sha256=sukGq7f08e6GodDr9G9N1bZdK4l5XhMmRo7Ao4kBLzg,56946
21
21
  certora_cli/EVMVerifier/certoraContextClass.py,sha256=qdHYmrzI4zeQaAaMnonw4C-h1PFrPEhI84trrgvxFj0,210
22
22
  certora_cli/EVMVerifier/certoraContextValidator.py,sha256=_vS3CDY8cJRqxtujwiz7rwRFVgDVxNb40YgUU4t4BPM,37585
23
23
  certora_cli/EVMVerifier/certoraContractFuncs.py,sha256=W3lAvKotGKK7ZGJLg4yYh0FzTwwSQJbZMpizyGaYXZo,6229
@@ -25,7 +25,7 @@ certora_cli/EVMVerifier/certoraExtensionInfo.py,sha256=bHjEBKg3qQ1lS419KSU6v6HKb
25
25
  certora_cli/EVMVerifier/certoraJobList.py,sha256=JlPOANEzNHP6cDrM5UKfO314pmWYokuhAPTkH3ezNb4,10768
26
26
  certora_cli/EVMVerifier/certoraMiniSpecParser.py,sha256=Thtcr1BLmCz9xOiOkaP04mSnrDaqIUOUSCM81TrqD_s,8970
27
27
  certora_cli/EVMVerifier/certoraNodeFilters.py,sha256=0e8iPdj4cWjwReaAhfJhpdnSUYc8gephmKQzOOP5X_g,2140
28
- certora_cli/EVMVerifier/certoraParseBuildScript.py,sha256=e_rvwH4dh0XvO2khGy2EW7x9aqf4G3R7glJ1_AXt-M0,2276
28
+ certora_cli/EVMVerifier/certoraParseBuildScript.py,sha256=GG0VVRNUT--4Wu7F_4pLIWmpzz4sDyX5UdftvJD32b4,2466
29
29
  certora_cli/EVMVerifier/certoraSourceFinders.py,sha256=fZLYGjNgntIySnG76DwsjRZ-UHiy0zEkM6xNP7cYpDE,18342
30
30
  certora_cli/EVMVerifier/certoraType.py,sha256=TPrgRwUnY-krN1SxpCHGB0zwN-TR1bxb-NFdnaigA-k,28626
31
31
  certora_cli/EVMVerifier/certoraVerifyGenerator.py,sha256=OT5zrtQMXDoaVdGfQ4_gbAnITin3nlXgXTgw3msqlNQ,9452
@@ -56,12 +56,12 @@ certora_cli/Shared/certoraAttrUtil.py,sha256=hUi1ye5kIAHGZqCR1YbXayn5-ToZi3WAa4M
56
56
  certora_cli/Shared/certoraLogging.py,sha256=5Lx-XWKl7GnwnWi7KlwTLIfsEvUvCTZ8KeyfNyi_6RU,13323
57
57
  certora_cli/Shared/certoraUtils.py,sha256=WmVX8Hz5wMZ7WI2JhYavAilH1kO3fwKLUBsf4hQ4b-o,53676
58
58
  certora_cli/Shared/certoraValidateFuncs.py,sha256=qbN2h6MApnLucKvzfJ_dnBa135lLLTGE9Q7MlCBP3Fc,37204
59
- certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=lsDwiO6syYmxcaGYPdkt0SCkdM2cQHY-f_Uu430QOzE,170
60
- certora_jars/Typechecker.jar,sha256=IUIEQNj3QOt2AwHGxfo-KwwyfJS5LFA9-axOB7G0Z70,16816756
59
+ certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=hUexzmgKYkRbNBi_kxHuHeLMNuS8Yop8TfMP5-kVniI,170
60
+ certora_jars/Typechecker.jar,sha256=lbObkgIk0J64JKCkKmWTY9sk1DnDPaZpHmiDvKDT8E8,16816756
61
61
  certora_jars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- certora_cli_alpha_master-20241230.22.32.888836.dist-info/LICENSE,sha256=VeEBJLgfzZqyAUfjLoKUztf7KJBBUjtZ1ap99eQubOo,1065
63
- certora_cli_alpha_master-20241230.22.32.888836.dist-info/METADATA,sha256=GnjYI6NCA6-vnQq3J24l--Bfmg1ukg1jEKrd4UA2Zr8,860
64
- certora_cli_alpha_master-20241230.22.32.888836.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
65
- certora_cli_alpha_master-20241230.22.32.888836.dist-info/entry_points.txt,sha256=x2dyit80wAtF72k5CQj9F5lnWZEmP9ioseqvrEGWyFc,389
66
- certora_cli_alpha_master-20241230.22.32.888836.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
67
- certora_cli_alpha_master-20241230.22.32.888836.dist-info/RECORD,,
62
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/LICENSE,sha256=VeEBJLgfzZqyAUfjLoKUztf7KJBBUjtZ1ap99eQubOo,1065
63
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/METADATA,sha256=CfTInQdRNGbMUW6-sENswHThOJNWqNDaUT-jY20kDy4,860
64
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
65
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/entry_points.txt,sha256=x2dyit80wAtF72k5CQj9F5lnWZEmP9ioseqvrEGWyFc,389
66
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
67
+ certora_cli_alpha_master-20250102.15.39.446615.dist-info/RECORD,,
@@ -1 +1 @@
1
- {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "f3cb489", "timestamp": "20241230.22.32.888836", "version": "20241230.22.32.888836+f3cb489"}
1
+ {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "e6644f0", "timestamp": "20250102.15.39.446615", "version": "20250102.15.39.446615+e6644f0"}
Binary file