certora-cli-beta-mirror 8.3.0__py3-none-any.whl → 8.4.0__py3-none-any.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.
@@ -99,7 +99,7 @@ def handle_override_base_config(context: CertoraContext) -> None:
99
99
  try:
100
100
  with (Path(context.override_base_config).open() as conf_file):
101
101
  override_base_config_attrs = Util.read_conf_file(conf_file)
102
-
102
+ context.attrs_set_in_main_conf = context.conf_file_attr.copy()
103
103
  context.conf_file_attr = {**override_base_config_attrs, **context.conf_file_attr}
104
104
 
105
105
  if 'override_base_config' in override_base_config_attrs:
@@ -111,7 +111,12 @@ def handle_override_base_config(context: CertoraContext) -> None:
111
111
  if hasattr(context, attr):
112
112
  value = getattr(context, attr, False)
113
113
  if not value:
114
- if attr in context.conf_file_attr and value is False:
114
+ # if boolean attribute does not appear in main conf but is True in the base conf, set it to True
115
+ if override_base_config_attrs[attr] is True and attr not in context.attrs_set_in_main_conf:
116
+ setattr(context, attr, True)
117
+ continue
118
+ # if boolean attribute does appear in main conf and is False, do not override it
119
+ elif attr in context.conf_file_attr and value is False:
115
120
  continue # skip override if a boolean attribute was explicitly set to False in the conf file
116
121
  setattr(context, attr, override_base_config_attrs.get(attr))
117
122
  else:
@@ -670,10 +670,10 @@ def get_map_attribute_value(context: CertoraContext, path: Path, attr_name: str)
670
670
  for contract_name, contract_file_path in context.contract_to_file.items():
671
671
  if fnmatch.fnmatch(contract_name, pattern):
672
672
  # Check if this contract's file matches our target path
673
- if Path(contract_file_path) == path:
673
+ if str(path).endswith(contract_file_path):
674
674
  return entry_value
675
675
  else: # This is a file pattern
676
676
  # Match the file pattern against the path
677
677
  if glob.globmatch(str(path), pattern, flags=glob.GLOBSTAR):
678
678
  return entry_value
679
- return None # No match
679
+ raise RuntimeError(f"cannot match {attr_name} to {path} from {attr_name}_map")
@@ -1364,8 +1364,12 @@ def get_mappings_from_forge_remappings() -> List[str]:
1364
1364
  remappings = []
1365
1365
  if remappings_output:
1366
1366
  for line in remappings_output.strip().split('\n'):
1367
- if '=' in line:
1367
+ key, value = line.split('=', 1)
1368
+ if key and value:
1368
1369
  remappings.append(line.strip())
1370
+ for suffix in ['contracts/', 'src/']:
1371
+ if value.endswith(suffix) and not key.endswith(suffix):
1372
+ remappings.append(f"{key}{suffix}={value}")
1369
1373
 
1370
1374
  return remappings
1371
1375
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: certora-cli-beta-mirror
3
- Version: 8.3.0
3
+ Version: 8.4.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
@@ -39,4 +39,4 @@ Dynamic: requires-dist
39
39
  Dynamic: requires-python
40
40
  Dynamic: summary
41
41
 
42
- Commit 3c8a0dd. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
42
+ Commit af254da. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -21,8 +21,8 @@ certora_cli/CertoraProver/certoraCloudIO.py,sha256=99IRWSA4wAF1q_yu7m1IpDlybMVqt
21
21
  certora_cli/CertoraProver/certoraCollectConfigurationLayout.py,sha256=Rln6LsqMp-u0H2fAFulTLAn7GW-j3ox2XZSz0ghdjk0,14116
22
22
  certora_cli/CertoraProver/certoraCollectRunMetadata.py,sha256=i31dkYt8kwlX44SHZtV_b8QI1Egi6cbB5-uuh5beYN0,12630
23
23
  certora_cli/CertoraProver/certoraCompilerParameters.py,sha256=r35y03IRwWIoz1GCNC7PuW3n8JPz9J1NGwhwUYKdYtI,1452
24
- certora_cli/CertoraProver/certoraConfigIO.py,sha256=vXR9XL3y1LPtL59BVuEfM60d6WLaM1P0WiAH2cZkwP4,7675
25
- certora_cli/CertoraProver/certoraContext.py,sha256=OVNACUNj9fGb9He8sGdod2waC0eWE8ZgXNPWjRC1lFg,28817
24
+ certora_cli/CertoraProver/certoraConfigIO.py,sha256=-1EhJYsiheYvyCgOOWrRCQBjqtqNXrpMKJYRq5cKJ0Y,8171
25
+ certora_cli/CertoraProver/certoraContext.py,sha256=bBbLPet5si6jFEdL1TBORN-HCiJGQK7hD6OQZ_ODmFY,28878
26
26
  certora_cli/CertoraProver/certoraContextAttributes.py,sha256=dFV44uoKzpfAc5mCcTXVrAR3aFBi1YS_6evWcS5akVA,70197
27
27
  certora_cli/CertoraProver/certoraContextClass.py,sha256=d7HDqM72K7YnswR7kEcAHGwkFNrTqRz5-_0m7cl2Mso,900
28
28
  certora_cli/CertoraProver/certoraContextValidator.py,sha256=clXwmYHIBUmOJ8ADRUmu9U6_pNe_tXRNawvUPBLlYVY,46490
@@ -64,16 +64,16 @@ certora_cli/Shared/ExpectedComparator.py,sha256=eyRR-jni4WJoa6j2TK2lnZ89Tyb8U99w
64
64
  certora_cli/Shared/__init__.py,sha256=s0dhvolFtsS4sRNzPVhC_rlw8mm194rCZ0WhOxInY40,1025
65
65
  certora_cli/Shared/certoraAttrUtil.py,sha256=Nw8ban5Axp6c6dT-KJfCD9i9tKnGk1DbvRDDNH3--DU,8574
66
66
  certora_cli/Shared/certoraLogging.py,sha256=cV2UQMhQ5j8crGXgeq9CEamI-Lk4HgdiA3HCrP-kSR4,14013
67
- certora_cli/Shared/certoraUtils.py,sha256=wayg6igrwaKi05pqBwAeu0GWFmaTXF8vK8kS_b2GSog,58450
67
+ certora_cli/Shared/certoraUtils.py,sha256=g7jdTQ-Ek9WOGybPV2x-I1n8XYVCu_RBWqIuFGUsOpw,58694
68
68
  certora_cli/Shared/certoraValidateFuncs.py,sha256=mYguICGfUwVZ9qPBFajss1xqHPDR-KRtskgERLum4AM,43225
69
69
  certora_cli/Shared/proverCommon.py,sha256=uZkl9PDLPj81kKRnBnlPUmvhMZovNP25_74No_7jaQ4,11215
70
- certora_jars/ASTExtraction.jar,sha256=1kEtDXlJ9Ry5HMZG_TFOrq9uYEwGi2Q2NXeWo4jBASk,17652496
71
- certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=LRbIOGIeY3BUz7qCrZXRLHMwY3UunwD_5eszkxByKXo,144
72
- certora_jars/Typechecker.jar,sha256=w9Z7RqqQlR9zygLAoJCx9ygr1e7ldve_uBP4n9XKuZU,17614653
70
+ certora_jars/ASTExtraction.jar,sha256=stgyb05Q7qfK-ADOFIyi_RiCkdDjds4wMFrdxTJT7us,20968688
71
+ certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=Wr7Se5d5oiLLvG9ZST6s_xmCugyE4JajHsaNpBgEYU8,143
72
+ certora_jars/Typechecker.jar,sha256=TXe1hTuaGrMJlji0gjkAQ4F7vnLw0PZ2JNXxoiPCy6U,20930847
73
73
  certora_jars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- certora_cli_beta_mirror-8.3.0.dist-info/LICENSE,sha256=UGKSKIJSetF8m906JLKqNLkUS2CL60XfQdNvxBvpQXo,620
75
- certora_cli_beta_mirror-8.3.0.dist-info/METADATA,sha256=ikEs14FVYl9DIIyDYmxs3hjB_ilByp7hdmWmOMWNatY,1286
76
- certora_cli_beta_mirror-8.3.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
77
- certora_cli_beta_mirror-8.3.0.dist-info/entry_points.txt,sha256=ClZiFkCYDdK25_ufxZvnE2Rx_kNk1_4vj7KpgYUKxGM,509
78
- certora_cli_beta_mirror-8.3.0.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
79
- certora_cli_beta_mirror-8.3.0.dist-info/RECORD,,
74
+ certora_cli_beta_mirror-8.4.0.dist-info/LICENSE,sha256=UGKSKIJSetF8m906JLKqNLkUS2CL60XfQdNvxBvpQXo,620
75
+ certora_cli_beta_mirror-8.4.0.dist-info/METADATA,sha256=wAeCjiOJWPOQ4hbA-Bo0TisIuA-fyJGtVzhPXXaAvsw,1286
76
+ certora_cli_beta_mirror-8.4.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
77
+ certora_cli_beta_mirror-8.4.0.dist-info/entry_points.txt,sha256=ClZiFkCYDdK25_ufxZvnE2Rx_kNk1_4vj7KpgYUKxGM,509
78
+ certora_cli_beta_mirror-8.4.0.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
79
+ certora_cli_beta_mirror-8.4.0.dist-info/RECORD,,
Binary file
@@ -1 +1 @@
1
- {"name": "certora-cli-beta-mirror", "tag": "8.3.0", "branch": "", "commit": "3c8a0dd", "timestamp": "20250925.14.13.331118", "version": "8.3.0"}
1
+ {"name": "certora-cli-beta-mirror", "tag": "8.4.0", "branch": "", "commit": "af254da", "timestamp": "20251012.7.16.446413", "version": "8.4.0"}
Binary file