certora-cli 8.17.1__tar.gz → 8.19.0__tar.gz

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.
Files changed (91) hide show
  1. {certora_cli-8.17.1/certora_cli.egg-info → certora_cli-8.19.0}/PKG-INFO +2 -2
  2. certora_cli-8.19.0/README.md +1 -0
  3. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraBuild.py +15 -5
  4. {certora_cli-8.17.1 → certora_cli-8.19.0/certora_cli.egg-info}/PKG-INFO +2 -2
  5. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_jars/ASTExtraction.jar +0 -0
  6. certora_cli-8.19.0/certora_jars/CERTORA-CLI-VERSION-METADATA.json +1 -0
  7. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_jars/Typechecker.jar +0 -0
  8. {certora_cli-8.17.1 → certora_cli-8.19.0}/setup.py +2 -2
  9. certora_cli-8.17.1/README.md +0 -1
  10. certora_cli-8.17.1/certora_jars/CERTORA-CLI-VERSION-METADATA.json +0 -1
  11. {certora_cli-8.17.1 → certora_cli-8.19.0}/LICENSE +0 -0
  12. {certora_cli-8.17.1 → certora_cli-8.19.0}/MANIFEST.in +0 -0
  13. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_bins/__init__.py +0 -0
  14. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/Compiler/CompilerCollector.py +0 -0
  15. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorFactory.py +0 -0
  16. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorSol.py +0 -0
  17. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorSolBased.py +0 -0
  18. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorVy.py +0 -0
  19. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/Compiler/CompilerCollectorYul.py +0 -0
  20. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/Compiler/__init__.py +0 -0
  21. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/__init__.py +0 -0
  22. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/castingInstrumenter.py +0 -0
  23. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraApp.py +0 -0
  24. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraBuildCacheManager.py +0 -0
  25. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraBuildDataClasses.py +0 -0
  26. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraBuildRust.py +0 -0
  27. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraBuildSui.py +0 -0
  28. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraCloudIO.py +0 -0
  29. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraCollectConfigurationLayout.py +0 -0
  30. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraCollectRunMetadata.py +0 -0
  31. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraCompilerParameters.py +0 -0
  32. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraConfigIO.py +0 -0
  33. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraContext.py +0 -0
  34. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraContextAttributes.py +0 -0
  35. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraContextClass.py +0 -0
  36. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraContextValidator.py +0 -0
  37. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraContractFuncs.py +0 -0
  38. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraExtensionInfo.py +0 -0
  39. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraJobList.py +0 -0
  40. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraMiniSpecParser.py +0 -0
  41. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraNodeFilters.py +0 -0
  42. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraOffsetConverter.py +0 -0
  43. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraParseBuildScript.py +0 -0
  44. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraProjectScanner.py +0 -0
  45. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraSourceFinders.py +0 -0
  46. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraType.py +0 -0
  47. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/certoraVerifyGenerator.py +0 -0
  48. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/erc7201.py +0 -0
  49. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/splitRules.py +0 -0
  50. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/storageExtension.py +0 -0
  51. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/CertoraProver/uncheckedOverflowInstrumenter.py +0 -0
  52. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/EquivalenceCheck/Eq_default.conf +0 -0
  53. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/EquivalenceCheck/Eq_mc_no_out_template.spec +0 -0
  54. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/EquivalenceCheck/Eq_mc_template.spec +0 -0
  55. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/EquivalenceCheck/Eq_sanity.conf +0 -0
  56. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/EquivalenceCheck/Eq_template.spec +0 -0
  57. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/EquivalenceCheck/__init__.py +0 -0
  58. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/EquivalenceCheck/equivCheck.py +0 -0
  59. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/EquivalenceCheck/sanity.spec +0 -0
  60. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Mutate/__init__.py +0 -0
  61. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Mutate/mutateApp.py +0 -0
  62. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Mutate/mutateAttributes.py +0 -0
  63. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Mutate/mutateConstants.py +0 -0
  64. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Mutate/mutateUtil.py +0 -0
  65. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Mutate/mutateValidate.py +0 -0
  66. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Shared/ExpectedComparator.py +0 -0
  67. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Shared/__init__.py +0 -0
  68. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Shared/certoraAttrUtil.py +0 -0
  69. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Shared/certoraLogging.py +0 -0
  70. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Shared/certoraUtils.py +0 -0
  71. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Shared/certoraValidateFuncs.py +0 -0
  72. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/Shared/proverCommon.py +0 -0
  73. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/__init__.py +0 -0
  74. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraCVLFormatter.py +0 -0
  75. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraConcord.py +0 -0
  76. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraEVMProver.py +0 -0
  77. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraEqCheck.py +0 -0
  78. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraMutate.py +0 -0
  79. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraRanger.py +0 -0
  80. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraRun.py +0 -0
  81. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraSolanaProver.py +0 -0
  82. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraSorobanProver.py +0 -0
  83. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/certoraSuiProver.py +0 -0
  84. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli/rustMutator.py +0 -0
  85. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli.egg-info/SOURCES.txt +0 -0
  86. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli.egg-info/dependency_links.txt +0 -0
  87. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli.egg-info/entry_points.txt +0 -0
  88. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli.egg-info/requires.txt +0 -0
  89. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_cli.egg-info/top_level.txt +0 -0
  90. {certora_cli-8.17.1 → certora_cli-8.19.0}/certora_jars/__init__.py +0 -0
  91. {certora_cli-8.17.1 → certora_cli-8.19.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: certora-cli
3
- Version: 8.17.1
3
+ Version: 8.19.0
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli
6
6
  Author: Certora
@@ -38,4 +38,4 @@ Dynamic: requires-dist
38
38
  Dynamic: requires-python
39
39
  Dynamic: summary
40
40
 
41
- Commit aeb463b. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
41
+ Commit 2902a27. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -0,0 +1 @@
1
+ Commit 2902a27. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -922,6 +922,16 @@ class CertoraBuildGenerator:
922
922
  if not is_not_payable and state_mutability in ["view", "pure", "nonpayable"]:
923
923
  is_not_payable = True # definitely not payable
924
924
 
925
+ # Mirror the function-finder logic above: in the autofinder pass the instrumented AST's
926
+ # byte offsets are shifted, so reuse the original (non-autofinder) getter's source bytes
927
+ # rather than reading them off the instrumented node. SourceBytes must stay in original
928
+ # source coordinates. Only the first pass (no original contract) reads the AST directly.
929
+ if original_contract is not None:
930
+ found_getter = original_contract.find_method(getter_name, solidity_type_args)
931
+ getter_source_bytes = found_getter.source_bytes if found_getter is not None else None
932
+ else:
933
+ getter_source_bytes = SourceBytes.from_ast_node(public_state_var)
934
+
925
935
  funcs.append(
926
936
  Func(
927
937
  name=getter_name,
@@ -940,7 +950,7 @@ class CertoraBuildGenerator:
940
950
  # according to Solidity docs, getter functions have external visibility
941
951
  visibility="external",
942
952
  contractName=contract_name,
943
- source_bytes=SourceBytes.from_ast_node(public_state_var),
953
+ source_bytes=getter_source_bytes,
944
954
  ast_id=None,
945
955
  original_file=c_file,
946
956
  location=None,
@@ -1448,7 +1458,7 @@ class CertoraBuildGenerator:
1448
1458
  if not self.context.strict_solc_optimizer and self.get_solc_via_ir_value(contract_file_path):
1449
1459
  # The default optimizer steps (taken from libsolidity/interface/OptimiserSettings.h) but with the
1450
1460
  # full inliner step removed
1451
- solc0_8_34_to_0_8_35 = ("dfDvulfnTUtnIfxa[r]EscLMVcul[j]Trpeulxa[r]cLvifMCTUca[r]LSsTFOtfDnca[r]"
1461
+ solc0_8_34_to_0_8_36 = ("dfDvulfnTUtnIfxa[r]EscLMVcul[j]Trpeulxa[r]cLvifMCTUca[r]LSsTFOtfDnca[r]"
1452
1462
  "IulcscCTUtvifMx[scCTUt]TOntnfDIulvifMjmul[jul]VcTOculjmul")
1453
1463
  solc0_8_26_to_0_8_33 = ("dhfoDgvulfnTUtnIfxa[r]EscLMVcul[j]Trpeulxa[r]cLCTUca[r]LSsTFOtfDnca[r]" +
1454
1464
  "IulcscCTUtx[scCTUt]TOntnfDIuljmul[jul]VcTOculjmul")
@@ -1475,7 +1485,7 @@ class CertoraBuildGenerator:
1475
1485
 
1476
1486
  err_msg = \
1477
1487
  f"Unsupported solc version {major}.{minor}.{patch} for `solc_via_ir`. " \
1478
- f"Supported versions: 0.6.7 – 0.8.25.\n" \
1488
+ f"Supported versions: 0.6.7 – 0.8.36.\n" \
1479
1489
  f"Use `solc_via_ir_map` to disable `solc_via_ir` for specific files with older compiler versions."
1480
1490
 
1481
1491
  yul_optimizer_steps = None
@@ -1501,8 +1511,8 @@ class CertoraBuildGenerator:
1501
1511
  yul_optimizer_steps = solc0_8_13_to_0_8_25
1502
1512
  elif minor == 8 and 26 <= patch <= 33:
1503
1513
  yul_optimizer_steps = solc0_8_26_to_0_8_33
1504
- elif minor == 8 and 34 <= patch <= 35:
1505
- yul_optimizer_steps = solc0_8_34_to_0_8_35
1514
+ elif minor == 8 and 34 <= patch <= 36:
1515
+ yul_optimizer_steps = solc0_8_34_to_0_8_36
1506
1516
  assert yul_optimizer_steps is not None, \
1507
1517
  'Yul Optimizer steps missing for requested Solidity version. Please contact Certora team.'
1508
1518
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: certora-cli
3
- Version: 8.17.1
3
+ Version: 8.19.0
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli
6
6
  Author: Certora
@@ -38,4 +38,4 @@ Dynamic: requires-dist
38
38
  Dynamic: requires-python
39
39
  Dynamic: summary
40
40
 
41
- Commit aeb463b. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
41
+ Commit 2902a27. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -0,0 +1 @@
1
+ {"name": "certora-cli", "tag": "8.19.0", "branch": "", "commit": "2902a27", "timestamp": "20260825.12.38.749209", "version": "8.19.0"}
@@ -3,11 +3,11 @@ import setuptools
3
3
 
4
4
  setuptools.setup(
5
5
  name="certora-cli",
6
- version="8.17.1",
6
+ version="8.19.0",
7
7
  author="Certora",
8
8
  author_email="support@certora.com",
9
9
  description="Runner for the Certora Prover",
10
- long_description="Commit aeb463b. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.",
10
+ long_description="Commit 2902a27. 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",
13
13
  packages=setuptools.find_packages(),
@@ -1 +0,0 @@
1
- Commit aeb463b. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -1 +0,0 @@
1
- {"name": "certora-cli", "tag": "8.17.1", "branch": "", "commit": "aeb463b", "timestamp": "20260710.13.13.834835", "version": "8.17.1"}
File without changes
File without changes
File without changes