# Certora Prover Configuration for Trustless Bridge
# This file configures Certora Prover for formal verification

# Solidity compiler version
solc_version = "0.8.19"

# Contract paths
contracts = [
    "contracts/bridge/trustless/BondManager.sol",
    "contracts/bridge/trustless/ChallengeManager.sol",
    "contracts/bridge/trustless/InboxETH.sol",
    "contracts/bridge/trustless/LiquidityPoolETH.sol",
    "contracts/bridge/trustless/Lockbox138.sol",
    "contracts/bridge/trustless/SwapRouter.sol",
    "contracts/bridge/trustless/BridgeSwapCoordinator.sol"
]

# Dependencies (OpenZeppelin)
dependencies = [
    "node_modules/@openzeppelin/contracts"
]

# Rule files (specifications)
rule_files = [
    "verification/certora/specs/BondManager.spec",
    "verification/certora/specs/ChallengeManager.spec",
    "verification/certora/specs/InboxETH.spec",
    "verification/certora/specs/LiquidityPoolETH.spec",
    "verification/certora/specs/Lockbox138.spec"
]

# Prover options
prover_options = [
    "--optimistic_loop",
    "--loop_iter 3",
    "--smt_timeout 600"
]

# Output settings
output_dir = "verification/reports"

# Note: Certora Prover requires a license to run
# Contact Certora for licensing: https://www.certora.com/

