certora-cli-beta-mirror 8.5.0__py3-none-macosx_10_9_universal2.whl → 8.6.0__py3-none-macosx_10_9_universal2.whl
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.
- certora_cli/CertoraProver/certoraBuild.py +15 -14
- certora_cli/CertoraProver/certoraContextAttributes.py +13 -0
- certora_cli/CertoraProver/certoraContextValidator.py +2 -1
- certora_cli/certoraRun.py +1 -1
- certora_cli/rustMutator.py +4 -1
- {certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/METADATA +2 -3
- {certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/RECORD +14 -14
- certora_jars/ASTExtraction.jar +0 -0
- certora_jars/CERTORA-CLI-VERSION-METADATA.json +1 -1
- certora_jars/Typechecker.jar +0 -0
- {certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/LICENSE +0 -0
- {certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/WHEEL +0 -0
- {certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/entry_points.txt +0 -0
- {certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/top_level.txt +0 -0
|
@@ -3339,14 +3339,14 @@ class CertoraBuildGenerator:
|
|
|
3339
3339
|
else:
|
|
3340
3340
|
added_source_finders = {}
|
|
3341
3341
|
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3342
|
+
if self.context.safe_casting_builtin:
|
|
3343
|
+
try:
|
|
3344
|
+
casting_instrumentations, casting_types = generate_casting_instrumentation(self.asts, build_arg_contract_file, sdc_pre_finder)
|
|
3345
|
+
except Exception as e:
|
|
3346
|
+
instrumentation_logger.warning(
|
|
3347
|
+
f"Computing casting instrumentation failed for {build_arg_contract_file}: {e}", exc_info=True)
|
|
3348
|
+
casting_instrumentations, casting_types = {}, {}
|
|
3349
|
+
instr = CertoraBuildGenerator.merge_dicts_instrumentation(instr, casting_instrumentations)
|
|
3350
3350
|
|
|
3351
3351
|
abs_build_arg_contract_file = Util.abs_posix_path(build_arg_contract_file)
|
|
3352
3352
|
if abs_build_arg_contract_file not in instr:
|
|
@@ -3401,12 +3401,13 @@ class CertoraBuildGenerator:
|
|
|
3401
3401
|
read_so_far += amt + 1 + to_skip
|
|
3402
3402
|
output.write(in_file.read(-1))
|
|
3403
3403
|
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3404
|
+
if self.context.safe_casting_builtin:
|
|
3405
|
+
library_name, funcs = casting_types.get(contract_file, ("", list()))
|
|
3406
|
+
if len(funcs) > 0:
|
|
3407
|
+
output.write(bytes(f"\nlibrary {library_name}" + "{\n", "utf8"))
|
|
3408
|
+
for f in funcs:
|
|
3409
|
+
output.write(bytes(f, "utf8"))
|
|
3410
|
+
output.write(bytes("}\n", "utf8"))
|
|
3410
3411
|
|
|
3411
3412
|
new_file = self.to_autofinder_file(build_arg_contract_file)
|
|
3412
3413
|
self.context.file_to_contract[new_file] = self.context.file_to_contract[
|
|
@@ -1202,6 +1202,19 @@ class EvmAttributes(AttrUtil.Attributes):
|
|
|
1202
1202
|
disables_build_cache=False,
|
|
1203
1203
|
)
|
|
1204
1204
|
|
|
1205
|
+
SAFE_CASTING_BUILTIN = AttrUtil.AttributeDefinition(
|
|
1206
|
+
arg_type=AttrUtil.AttrArgType.BOOLEAN,
|
|
1207
|
+
help_msg="This needs to be set to true for the safeCasting builtin to work",
|
|
1208
|
+
default_desc="This needs to be set to true for the safeCasting builtin to work",
|
|
1209
|
+
jar_flag='-safeCastingBuiltin',
|
|
1210
|
+
argparse_args={
|
|
1211
|
+
'action': AttrUtil.STORE_TRUE,
|
|
1212
|
+
'default': False
|
|
1213
|
+
},
|
|
1214
|
+
affects_build_cache_key=True,
|
|
1215
|
+
disables_build_cache=False,
|
|
1216
|
+
)
|
|
1217
|
+
|
|
1205
1218
|
@classmethod
|
|
1206
1219
|
def hide_attributes(cls) -> List[str]:
|
|
1207
1220
|
# do not show these attributes in the help message
|
|
@@ -238,7 +238,8 @@ class CertoraContextValidator:
|
|
|
238
238
|
check_rule(context)
|
|
239
239
|
|
|
240
240
|
if context.split_rules and (context.build_only or context.compilation_steps_only):
|
|
241
|
-
|
|
241
|
+
validation_logger.warning("When running with 'compilation_steps_only' or 'build_only', "
|
|
242
|
+
"'split_rules' attribute has no effect and will be ignored.")
|
|
242
243
|
|
|
243
244
|
if context.compilation_steps_only and context.build_only:
|
|
244
245
|
raise Util.CertoraUserInputError("cannot use both 'compilation_steps_only' and 'build_only'")
|
certora_cli/certoraRun.py
CHANGED
|
@@ -74,7 +74,7 @@ def run_certora(args: List[str], app: Type[App.CertoraApp] = App.EvmApp,
|
|
|
74
74
|
# Collect and dump configuration layout
|
|
75
75
|
collect_and_dump_config_layout(context)
|
|
76
76
|
|
|
77
|
-
if context.split_rules:
|
|
77
|
+
if context.split_rules and not (context.build_only or context.compilation_steps_only):
|
|
78
78
|
context.build_only = True
|
|
79
79
|
build(context)
|
|
80
80
|
context.build_only = False
|
certora_cli/rustMutator.py
CHANGED
|
@@ -249,7 +249,10 @@ def validate_mutate_command() -> None:
|
|
|
249
249
|
Util.CertoraUserInputError: If validation fails.
|
|
250
250
|
"""
|
|
251
251
|
if shutil.which("mutate") is None:
|
|
252
|
-
raise Util.CertoraUserInputError("universalmutator
|
|
252
|
+
raise Util.CertoraUserInputError("Currently for Rust projects, universalmutator is required to generate mutants. "
|
|
253
|
+
"The universalmutator command 'mutate' not found in PATH. "
|
|
254
|
+
"To install universalmutator, please follow the instructions at"
|
|
255
|
+
" https://github.com/agroce/universalmutator")
|
|
253
256
|
|
|
254
257
|
|
|
255
258
|
def run_mutate(file_to_mutate: Path, mutants_location: Path, build_command: str) -> None:
|
{certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: certora-cli-beta-mirror
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.6.0
|
|
4
4
|
Summary: Runner for the Certora Prover
|
|
5
5
|
Home-page: https://pypi.org/project/certora-cli-beta-mirror
|
|
6
6
|
Author: Certora
|
|
@@ -23,7 +23,6 @@ Requires-Dist: sly
|
|
|
23
23
|
Requires-Dist: tabulate
|
|
24
24
|
Requires-Dist: tqdm
|
|
25
25
|
Requires-Dist: StrEnum
|
|
26
|
-
Requires-Dist: universalmutator
|
|
27
26
|
Requires-Dist: jinja2
|
|
28
27
|
Requires-Dist: wcmatch
|
|
29
28
|
Requires-Dist: typing_extensions
|
|
@@ -39,4 +38,4 @@ Dynamic: requires-dist
|
|
|
39
38
|
Dynamic: requires-python
|
|
40
39
|
Dynamic: summary
|
|
41
40
|
|
|
42
|
-
Commit
|
|
41
|
+
Commit 92412cc. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
|
|
@@ -7,15 +7,15 @@ certora_cli/certoraEVMProver.py,sha256=AH8ZeWXAs7wK6nNKFANCt6seLf9EaaFXtfpjc3xdI
|
|
|
7
7
|
certora_cli/certoraEqCheck.py,sha256=qfZq7bpU1kbAIezC66W61VfKNZz7Uywg2Ygup62qYeo,1069
|
|
8
8
|
certora_cli/certoraMutate.py,sha256=XhFHyNVP_sk-3XkY6AAV5fVliEFAVRq-JeDGsqE5IQQ,3333
|
|
9
9
|
certora_cli/certoraRanger.py,sha256=thJ4EKo-MFHklCk-7zJADZ-9SO6eCg1AFv88-QssLj0,1289
|
|
10
|
-
certora_cli/certoraRun.py,sha256=
|
|
10
|
+
certora_cli/certoraRun.py,sha256=TLKtAATiw3bOW-arkOu91CezIAks-cJFeSRWAEyR0yI,6714
|
|
11
11
|
certora_cli/certoraSolanaProver.py,sha256=1R1YnGHCofb05GqFgpxRh3ZmHkmwMm1hPM7rfeiEu7o,3250
|
|
12
12
|
certora_cli/certoraSorobanProver.py,sha256=SYJKz5Sw-N0bJrSa1njRCE53R9_PMz7IWLhfamOjisk,2840
|
|
13
13
|
certora_cli/certoraSuiProver.py,sha256=gRs-iihB35ZSEIQ5-hJN-wLgrHZlcfmpk76Wr6vza74,2827
|
|
14
|
-
certora_cli/rustMutator.py,sha256=
|
|
14
|
+
certora_cli/rustMutator.py,sha256=j1YdY5HOWQcRNbz7TOxp5c79J0YaaYHtWZ6m2mSTeGc,14865
|
|
15
15
|
certora_cli/CertoraProver/__init__.py,sha256=QHNr-PJQAoyuPgTkO7gg23GRchiWSXglWNG7yLSQZvs,849
|
|
16
16
|
certora_cli/CertoraProver/castingInstrumenter.py,sha256=4FDjQjnN9s8I3B9J-_G9rug9Jf3LnWnAuRngr50oTH4,7898
|
|
17
17
|
certora_cli/CertoraProver/certoraApp.py,sha256=RKJ2Krb_CzbRUvczbdE6FhUDrFcvrR8j0JS8MNWXX7s,1469
|
|
18
|
-
certora_cli/CertoraProver/certoraBuild.py,sha256
|
|
18
|
+
certora_cli/CertoraProver/certoraBuild.py,sha256=h6lGjUyTcC0EnRCK1DXD26Qez4DEphpFjx_IoQRiuO8,231608
|
|
19
19
|
certora_cli/CertoraProver/certoraBuildCacheManager.py,sha256=DnVd7w92xjmg0DIrMgoJnCvaU0yCz7ySy0M4RiHEXEM,13648
|
|
20
20
|
certora_cli/CertoraProver/certoraBuildDataClasses.py,sha256=BKOjO0yBUWA26cK_VO_lczXrOD7VWC8egQiXY4jGpmk,14914
|
|
21
21
|
certora_cli/CertoraProver/certoraBuildRust.py,sha256=ZPbNp4ttRmzcKhFsgHSiHDRExNPaLOzgxTRqu23o1D0,6061
|
|
@@ -26,9 +26,9 @@ certora_cli/CertoraProver/certoraCollectRunMetadata.py,sha256=SonKgq2l6_8o6xySbi
|
|
|
26
26
|
certora_cli/CertoraProver/certoraCompilerParameters.py,sha256=v-MIt4sDJSQ7vpEFmCt9XBkKBhdBbZuZA4PWNErJwcU,1807
|
|
27
27
|
certora_cli/CertoraProver/certoraConfigIO.py,sha256=-1EhJYsiheYvyCgOOWrRCQBjqtqNXrpMKJYRq5cKJ0Y,8171
|
|
28
28
|
certora_cli/CertoraProver/certoraContext.py,sha256=bBbLPet5si6jFEdL1TBORN-HCiJGQK7hD6OQZ_ODmFY,28878
|
|
29
|
-
certora_cli/CertoraProver/certoraContextAttributes.py,sha256=
|
|
29
|
+
certora_cli/CertoraProver/certoraContextAttributes.py,sha256=e1rtRyF3L_PftUBaQ8XzCutlduSuE1vcS9MyxGwcuqk,72750
|
|
30
30
|
certora_cli/CertoraProver/certoraContextClass.py,sha256=d7HDqM72K7YnswR7kEcAHGwkFNrTqRz5-_0m7cl2Mso,900
|
|
31
|
-
certora_cli/CertoraProver/certoraContextValidator.py,sha256=
|
|
31
|
+
certora_cli/CertoraProver/certoraContextValidator.py,sha256=KEsxk6D_s_piucib5VeuCNJhKUZUsuCcOyoZRywjKz8,46448
|
|
32
32
|
certora_cli/CertoraProver/certoraContractFuncs.py,sha256=IKe4xbDh0yFoYVCuLeAxnGg9h59rQCla3Qpy0GwS3HE,8236
|
|
33
33
|
certora_cli/CertoraProver/certoraExtensionInfo.py,sha256=YlShzdoqJQgXXj3r0TJ3fir1KntIR99Rk8JN5qii2lk,2026
|
|
34
34
|
certora_cli/CertoraProver/certoraJobList.py,sha256=FBIYgJ60I0Ok7vchfTbcuJJbiXgnfAhrONoVeZoHti4,11464
|
|
@@ -70,13 +70,13 @@ certora_cli/Shared/certoraLogging.py,sha256=cV2UQMhQ5j8crGXgeq9CEamI-Lk4HgdiA3HC
|
|
|
70
70
|
certora_cli/Shared/certoraUtils.py,sha256=lHd7Da2BmpFAMUoVpdmg5IICsCEIX9qCuD7Ts5QaLpQ,59556
|
|
71
71
|
certora_cli/Shared/certoraValidateFuncs.py,sha256=gCM-YP0Tpngpasd2AWxhu90UNz1wtls3WqJYp18n_Q8,43503
|
|
72
72
|
certora_cli/Shared/proverCommon.py,sha256=DUB-uEKjOkZ-8qil6xukPqfTynpigXW-gcrm0_kRUZY,11383
|
|
73
|
-
certora_jars/ASTExtraction.jar,sha256=
|
|
74
|
-
certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=
|
|
75
|
-
certora_jars/Typechecker.jar,sha256=
|
|
73
|
+
certora_jars/ASTExtraction.jar,sha256=fUqpeRjQNtboB5KbXOsf0SvH_ZHvm73-S7uU3eZ9xE8,21987525
|
|
74
|
+
certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=ENaW8Y4aNKyDEgRgB6FgUZP_MfitA5n6kyXfgQMw0Jg,143
|
|
75
|
+
certora_jars/Typechecker.jar,sha256=e4D5-ooY-PGOKwztxfJ-JmIYMY_qfl1V96Acm1-aZfg,21949637
|
|
76
76
|
certora_jars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
|
-
certora_cli_beta_mirror-8.
|
|
78
|
-
certora_cli_beta_mirror-8.
|
|
79
|
-
certora_cli_beta_mirror-8.
|
|
80
|
-
certora_cli_beta_mirror-8.
|
|
81
|
-
certora_cli_beta_mirror-8.
|
|
82
|
-
certora_cli_beta_mirror-8.
|
|
77
|
+
certora_cli_beta_mirror-8.6.0.dist-info/LICENSE,sha256=UGKSKIJSetF8m906JLKqNLkUS2CL60XfQdNvxBvpQXo,620
|
|
78
|
+
certora_cli_beta_mirror-8.6.0.dist-info/METADATA,sha256=Vyx_DVA4yWL9aTP1YtuBi0NphKsla82MBZeVjJ3Z8Uw,1254
|
|
79
|
+
certora_cli_beta_mirror-8.6.0.dist-info/WHEEL,sha256=9Ig2YBzm5cpS_YWKLeuYxVAxcKv_uDQsCzy9XJbRZ_g,110
|
|
80
|
+
certora_cli_beta_mirror-8.6.0.dist-info/entry_points.txt,sha256=YXGQmR4tGdYD9lLdG_TEJkmVNrRauCtCDE88HwvO2Jo,569
|
|
81
|
+
certora_cli_beta_mirror-8.6.0.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
|
|
82
|
+
certora_cli_beta_mirror-8.6.0.dist-info/RECORD,,
|
certora_jars/ASTExtraction.jar
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "certora-cli-beta-mirror", "tag": "8.
|
|
1
|
+
{"name": "certora-cli-beta-mirror", "tag": "8.6.0", "branch": "", "commit": "92412cc", "timestamp": "20251127.6.22.749789", "version": "8.6.0"}
|
certora_jars/Typechecker.jar
CHANGED
|
Binary file
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{certora_cli_beta_mirror-8.5.0.dist-info → certora_cli_beta_mirror-8.6.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|