certora-cli-beta 8.16.0__tar.gz → 8.16.2__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.
- {certora_cli_beta-8.16.0/certora_cli_beta.egg-info → certora_cli_beta-8.16.2}/PKG-INFO +2 -2
- certora_cli_beta-8.16.2/README.md +1 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraBuild.py +57 -32
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Shared/certoraValidateFuncs.py +2 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2/certora_cli_beta.egg-info}/PKG-INFO +2 -2
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_jars/ASTExtraction.jar +0 -0
- certora_cli_beta-8.16.2/certora_jars/CERTORA-CLI-VERSION-METADATA.json +1 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_jars/Typechecker.jar +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/setup.py +2 -2
- certora_cli_beta-8.16.0/README.md +0 -1
- certora_cli_beta-8.16.0/certora_jars/CERTORA-CLI-VERSION-METADATA.json +0 -1
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/LICENSE +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/MANIFEST.in +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_bins/__init__.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/Compiler/CompilerCollector.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/Compiler/CompilerCollectorFactory.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/Compiler/CompilerCollectorSol.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/Compiler/CompilerCollectorSolBased.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/Compiler/CompilerCollectorVy.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/Compiler/CompilerCollectorYul.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/Compiler/__init__.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/__init__.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/castingInstrumenter.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraApp.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraBuildCacheManager.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraBuildDataClasses.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraBuildRust.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraBuildSui.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraCloudIO.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraCollectConfigurationLayout.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraCollectRunMetadata.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraCompilerParameters.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraConfigIO.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraContext.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraContextAttributes.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraContextClass.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraContextValidator.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraContractFuncs.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraExtensionInfo.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraJobList.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraMiniSpecParser.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraNodeFilters.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraOffsetConverter.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraParseBuildScript.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraProjectScanner.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraSourceFinders.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraType.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraVerifyGenerator.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/erc7201.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/splitRules.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/storageExtension.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/uncheckedOverflowInstrumenter.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_default.conf +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_mc_no_out_template.spec +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_mc_template.spec +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_sanity.conf +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_template.spec +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/__init__.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/equivCheck.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/sanity.spec +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Mutate/__init__.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Mutate/mutateApp.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Mutate/mutateAttributes.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Mutate/mutateConstants.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Mutate/mutateUtil.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Mutate/mutateValidate.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Shared/ExpectedComparator.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Shared/__init__.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Shared/certoraAttrUtil.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Shared/certoraLogging.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Shared/certoraUtils.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Shared/proverCommon.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/__init__.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraCVLFormatter.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraConcord.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraEVMProver.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraEqCheck.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraMutate.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraRanger.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraRun.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraSolanaProver.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraSorobanProver.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/certoraSuiProver.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/rustMutator.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli_beta.egg-info/SOURCES.txt +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli_beta.egg-info/dependency_links.txt +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli_beta.egg-info/entry_points.txt +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli_beta.egg-info/requires.txt +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli_beta.egg-info/top_level.txt +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_jars/__init__.py +0 -0
- {certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: certora-cli-beta
|
|
3
|
-
Version: 8.16.
|
|
3
|
+
Version: 8.16.2
|
|
4
4
|
Summary: Runner for the Certora Prover
|
|
5
5
|
Home-page: https://pypi.org/project/certora-cli-beta
|
|
6
6
|
Author: Certora
|
|
@@ -38,4 +38,4 @@ Dynamic: requires-dist
|
|
|
38
38
|
Dynamic: requires-python
|
|
39
39
|
Dynamic: summary
|
|
40
40
|
|
|
41
|
-
Commit
|
|
41
|
+
Commit 94b86f7. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Commit 94b86f7. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraBuild.py
RENAMED
|
@@ -1839,6 +1839,42 @@ class CertoraBuildGenerator:
|
|
|
1839
1839
|
else:
|
|
1840
1840
|
raise Util.CertoraUserInputError(err_msg)
|
|
1841
1841
|
|
|
1842
|
+
def _resolve_data_contracts_key(self,
|
|
1843
|
+
contract_file: str,
|
|
1844
|
+
compile_wd: Path,
|
|
1845
|
+
data: Dict[str, Any],
|
|
1846
|
+
resolved_to_orig: Optional[Dict[str, str]] = None,
|
|
1847
|
+
) -> str:
|
|
1848
|
+
"""Resolve which key in data[CONTRACTS] corresponds to ``contract_file``.
|
|
1849
|
+
|
|
1850
|
+
solc's standard-json output keys files in whatever form solc saw them — relative to
|
|
1851
|
+
compile_wd, absolute, the raw input string, or (for symlinks) a previously seen original.
|
|
1852
|
+
We try each in order and return the matching key. Raises if no form matches.
|
|
1853
|
+
|
|
1854
|
+
``resolved_to_orig`` is optional: the worklist populates it from base contracts and link
|
|
1855
|
+
references; the pre-worklist seed for the primary file passes ``None``.
|
|
1856
|
+
"""
|
|
1857
|
+
contract_file_abs = str(Util.abs_norm_path(contract_file))
|
|
1858
|
+
# using os.path.relpath because Path.relative_to cannot go up the directory tree (no ..)
|
|
1859
|
+
contract_file_rel = os.path.relpath(Path(contract_file_abs), compile_wd)
|
|
1860
|
+
|
|
1861
|
+
build_logger.debug(f"available keys: {data[CONTRACTS].keys()}")
|
|
1862
|
+
if contract_file_rel in data[CONTRACTS]:
|
|
1863
|
+
return contract_file_rel
|
|
1864
|
+
if contract_file_abs in data[CONTRACTS]:
|
|
1865
|
+
return contract_file_abs
|
|
1866
|
+
if contract_file in data[CONTRACTS]:
|
|
1867
|
+
# when does this happen? Saw this in TrustToken on a package source file
|
|
1868
|
+
return contract_file
|
|
1869
|
+
orig = resolved_to_orig.get(contract_file) if resolved_to_orig is not None else None
|
|
1870
|
+
if orig is not None and orig in data[CONTRACTS]:
|
|
1871
|
+
return orig
|
|
1872
|
+
# our file may be a symlink!
|
|
1873
|
+
raise Exception(
|
|
1874
|
+
f"Worklist contains {contract_file} (relative {contract_file_rel}, "
|
|
1875
|
+
f"absolute {contract_file_abs}), resolved from {orig} "
|
|
1876
|
+
f"that does not exist in contract set {orig in data[CONTRACTS] if orig else False}")
|
|
1877
|
+
|
|
1842
1878
|
def collect_for_file(self,
|
|
1843
1879
|
build_arg_contract_file: str,
|
|
1844
1880
|
file_index: int,
|
|
@@ -1986,6 +2022,12 @@ class CertoraBuildGenerator:
|
|
|
1986
2022
|
contracts_with_libraries = {}
|
|
1987
2023
|
file_compiler_path = compiler_collector.normalize_file_compiler_path_name(file_abs_path)
|
|
1988
2024
|
|
|
2025
|
+
# Resolve the data[CONTRACTS] key for the primary file once, before the worklist runs.
|
|
2026
|
+
# This is the (file, *) half of the primary contract-handle set used to scope the bytecode
|
|
2027
|
+
# check inside get_bytecode — see the primary_contract_handles construction just below.
|
|
2028
|
+
primary_file_key = self._resolve_data_contracts_key(str(Path(file_compiler_path)), compile_wd, data)
|
|
2029
|
+
primary_contract_handles: Set[Tuple[str, str]] = {(primary_file_key, n) for n in contracts_in_file}
|
|
2030
|
+
|
|
1989
2031
|
# But apparently this heavily depends on the Solidity AST format anyway
|
|
1990
2032
|
|
|
1991
2033
|
# Need to add all library dependencies that are in a different file:
|
|
@@ -1997,31 +2039,8 @@ class CertoraBuildGenerator:
|
|
|
1997
2039
|
contract_file_obj = contracts_to_add_dependencies_queue.pop()
|
|
1998
2040
|
contract_file = str(contract_file_obj)
|
|
1999
2041
|
build_logger.debug(f"Processing dependencies from file {contract_file}")
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
# using os.path.relpath because Path.relative_to cannot go up the directory tree (no ..)
|
|
2004
|
-
contract_file_rel = os.path.relpath(Path(contract_file_abs), compile_wd)
|
|
2005
|
-
|
|
2006
|
-
build_logger.debug(f"available keys: {data['contracts'].keys()}")
|
|
2007
|
-
if contract_file_rel in data[CONTRACTS]:
|
|
2008
|
-
contract_file = contract_file_rel
|
|
2009
|
-
unsorted_contract_list = data[CONTRACTS][contract_file]
|
|
2010
|
-
elif contract_file_abs in data[CONTRACTS]:
|
|
2011
|
-
contract_file = contract_file_abs
|
|
2012
|
-
unsorted_contract_list = data[CONTRACTS][contract_file_abs]
|
|
2013
|
-
elif contract_file in data[CONTRACTS]:
|
|
2014
|
-
# when does this happen? Saw this in TrustToken on a package source file
|
|
2015
|
-
unsorted_contract_list = data[CONTRACTS][contract_file]
|
|
2016
|
-
elif resolved_to_orig.get(contract_file) in data[CONTRACTS]:
|
|
2017
|
-
unsorted_contract_list = data[CONTRACTS][resolved_to_orig[contract_file]]
|
|
2018
|
-
contract_file = resolved_to_orig[contract_file]
|
|
2019
|
-
else:
|
|
2020
|
-
# our file may be a symlink!
|
|
2021
|
-
raise Exception(
|
|
2022
|
-
f"Worklist contains {contract_file} (relative {contract_file_rel}, "
|
|
2023
|
-
f"absolute {contract_file_abs}), resolved from {resolved_to_orig.get(contract_file)} "
|
|
2024
|
-
f"that does not exist in contract set {resolved_to_orig.get(contract_file) in data['contracts']}")
|
|
2042
|
+
contract_file = self._resolve_data_contracts_key(contract_file, compile_wd, data, resolved_to_orig)
|
|
2043
|
+
unsorted_contract_list = data[CONTRACTS][contract_file]
|
|
2025
2044
|
|
|
2026
2045
|
contract_list = sorted([c for c in unsorted_contract_list])
|
|
2027
2046
|
# every contract file may contain numerous primary contracts, but the dependent contracts
|
|
@@ -2125,7 +2144,7 @@ class CertoraBuildGenerator:
|
|
|
2125
2144
|
contracts_with_chosen_addresses,
|
|
2126
2145
|
data,
|
|
2127
2146
|
report_source_file,
|
|
2128
|
-
|
|
2147
|
+
primary_contract_handles,
|
|
2129
2148
|
build_arg_contract_file,
|
|
2130
2149
|
compiler_collector,
|
|
2131
2150
|
compile_wd,
|
|
@@ -2208,7 +2227,7 @@ class CertoraBuildGenerator:
|
|
|
2208
2227
|
def get_bytecode(self,
|
|
2209
2228
|
bytecode_object: Dict[str, Any],
|
|
2210
2229
|
contract_name: str,
|
|
2211
|
-
|
|
2230
|
+
is_primary: bool,
|
|
2212
2231
|
contracts_with_chosen_addresses: List[Tuple[int, Any]],
|
|
2213
2232
|
is_deployed_bytecode: bool
|
|
2214
2233
|
) -> str:
|
|
@@ -2218,7 +2237,11 @@ class CertoraBuildGenerator:
|
|
|
2218
2237
|
|
|
2219
2238
|
@param bytecode_object - the output from the Solidity compiler
|
|
2220
2239
|
@param contract_name - the contract that we are working on
|
|
2221
|
-
@param
|
|
2240
|
+
@param is_primary - whether (source_file, contract_name) is a primary handle in the current
|
|
2241
|
+
compilation; only primaries are required to have non-empty bytecode. The (file, name)
|
|
2242
|
+
scoping avoids false positives when a transitively-imported abstract contract shares a
|
|
2243
|
+
name with a primary (e.g. local concrete `Proxy` vs OpenZeppelin's abstract `Proxy`).
|
|
2244
|
+
Caller computes membership against the primary_contract_handles set.
|
|
2222
2245
|
@param contracts_with_chosen_addresses - a list of tuples of addresses and the
|
|
2223
2246
|
associated contract identifier
|
|
2224
2247
|
@param is_deployed_bytecode - true if we deal with deployed (runtime) bytecode,
|
|
@@ -2241,7 +2264,7 @@ class CertoraBuildGenerator:
|
|
|
2241
2264
|
f"If you need the contract, import the missing library directly and add a dummy usage:\n"
|
|
2242
2265
|
orig_msg = str(e)
|
|
2243
2266
|
raise Util.CertoraUserInputError(prefix_msg + orig_msg)
|
|
2244
|
-
if
|
|
2267
|
+
if is_primary and len(bytecode) == 0:
|
|
2245
2268
|
msg = f"Contract {contract_name} has no bytecode. " \
|
|
2246
2269
|
f"It may be caused because the contract is abstract, " \
|
|
2247
2270
|
f"or is missing constructor code. Please check the output of the Solidity compiler."
|
|
@@ -2350,7 +2373,7 @@ class CertoraBuildGenerator:
|
|
|
2350
2373
|
contracts_with_chosen_addresses: List[Tuple[int, Any]],
|
|
2351
2374
|
data: Dict[str, Any],
|
|
2352
2375
|
report_source_file: str,
|
|
2353
|
-
|
|
2376
|
+
primary_contract_handles: Set[Tuple[str, str]],
|
|
2354
2377
|
build_arg_contract_file: str,
|
|
2355
2378
|
compiler_collector_for_contract_file: CompilerCollector,
|
|
2356
2379
|
compile_wd: Path,
|
|
@@ -2422,12 +2445,14 @@ class CertoraBuildGenerator:
|
|
|
2422
2445
|
(srcmap, constructor_srcmap) = self.collect_srcmap(contract_data)
|
|
2423
2446
|
|
|
2424
2447
|
varmap = ""
|
|
2448
|
+
contract_is_primary = (source_code_file, contract_name) in primary_contract_handles
|
|
2425
2449
|
deployed_bytecode = self.get_bytecode(contract_data["evm"]["deployedBytecode"], contract_name,
|
|
2426
|
-
|
|
2450
|
+
contract_is_primary,
|
|
2427
2451
|
contracts_with_chosen_addresses, True)
|
|
2428
2452
|
deployed_bytecode = compiler_lang.normalize_deployed_bytecode(
|
|
2429
2453
|
deployed_bytecode)
|
|
2430
|
-
constructor_bytecode = self.get_bytecode(contract_data["evm"]["bytecode"], contract_name,
|
|
2454
|
+
constructor_bytecode = self.get_bytecode(contract_data["evm"]["bytecode"], contract_name,
|
|
2455
|
+
contract_is_primary,
|
|
2431
2456
|
contracts_with_chosen_addresses, False)
|
|
2432
2457
|
constructor_bytecode = compiler_lang.normalize_deployed_bytecode(
|
|
2433
2458
|
constructor_bytecode)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: certora-cli-beta
|
|
3
|
-
Version: 8.16.
|
|
3
|
+
Version: 8.16.2
|
|
4
4
|
Summary: Runner for the Certora Prover
|
|
5
5
|
Home-page: https://pypi.org/project/certora-cli-beta
|
|
6
6
|
Author: Certora
|
|
@@ -38,4 +38,4 @@ Dynamic: requires-dist
|
|
|
38
38
|
Dynamic: requires-python
|
|
39
39
|
Dynamic: summary
|
|
40
40
|
|
|
41
|
-
Commit
|
|
41
|
+
Commit 94b86f7. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name": "certora-cli-beta", "tag": "8.16.2", "branch": "", "commit": "94b86f7", "timestamp": "20260625.10.50.595039", "version": "8.16.2"}
|
|
Binary file
|
|
@@ -3,11 +3,11 @@ import setuptools
|
|
|
3
3
|
|
|
4
4
|
setuptools.setup(
|
|
5
5
|
name="certora-cli-beta",
|
|
6
|
-
version="8.16.
|
|
6
|
+
version="8.16.2",
|
|
7
7
|
author="Certora",
|
|
8
8
|
author_email="support@certora.com",
|
|
9
9
|
description="Runner for the Certora Prover",
|
|
10
|
-
long_description="Commit
|
|
10
|
+
long_description="Commit 94b86f7. 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-beta",
|
|
13
13
|
packages=setuptools.find_packages(),
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Commit 9317e51. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"name": "certora-cli-beta", "tag": "8.16.0", "branch": "", "commit": "9317e51", "timestamp": "20260525.8.32.660750", "version": "8.16.0"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/Compiler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/castingInstrumenter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraBuildRust.py
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraBuildSui.py
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraCloudIO.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraConfigIO.py
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraContext.py
RENAMED
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraContextClass.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraJobList.py
RENAMED
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraNodeFilters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/certoraType.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/CertoraProver/storageExtension.py
RENAMED
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_default.conf
RENAMED
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_mc_template.spec
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_sanity.conf
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/Eq_template.spec
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/__init__.py
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/equivCheck.py
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/EquivalenceCheck/sanity.spec
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli/Shared/ExpectedComparator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli_beta.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{certora_cli_beta-8.16.0 → certora_cli_beta-8.16.2}/certora_cli_beta.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|