You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: cli/cli.hs
+6-3Lines changed: 6 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -76,7 +76,6 @@ data CommonOptions = CommonOptions
76
76
{askSmtIterations::Integer
77
77
, loopDetectionHeuristic::LoopHeuristic
78
78
, noDecompose::Bool
79
-
, maxBranch::Int
80
79
, solver::Text
81
80
, debug::Bool
82
81
, calldata::MaybeByteString
@@ -92,6 +91,8 @@ data CommonOptions = CommonOptions
92
91
, maxIterations::Integer
93
92
, promiseNoReent::Bool
94
93
, maxBufSize::Int
94
+
, maxWidth::Int
95
+
, maxDepth::MaybeInt
95
96
}
96
97
97
98
commonOptions::ParserCommonOptions
@@ -101,7 +102,6 @@ commonOptions = CommonOptions
101
102
<*> option auto (long "loop-detection-heuristic"<> showDefault <> value StackBased<>
102
103
help "Which heuristic should be used to determine if we are in a loop: StackBased or Naive")
103
104
<*> (switch $ long "no-decompose"<> help "Don't decompose storage slots into separate arrays")
104
-
<*> (option auto $ long "max-branch"<> showDefault <> value 100<> help "Max number of branches to explore when encountering a symbolic value")
105
105
<*> (strOption $ long "solver"<> value "z3"<> help "Used SMT solver: z3, cvc5, or bitwuzla")
106
106
<*> (switch $ long "debug"<> help "Debug printing of internal behaviour, and dump internal expressions")
107
107
<*> (optional $ strOption $ long "calldata"<> help "Tx: calldata")
@@ -117,6 +117,8 @@ commonOptions = CommonOptions
117
117
<*> (option auto $ long "max-iterations"<> showDefault <> value 5<> help "Number of times we may revisit a particular branching point. For no bound, set -1")
118
118
<*> (switch $ long "promise-no-reent"<> help "Promise no reentrancy is possible into the contract(s) being examined")
119
119
<*> (option auto $ long "max-buf-size"<> value 64<> help "Maximum size of buffers such as calldata and returndata in exponents of 2 (default: 64, i.e. 2^64 bytes)")
120
+
<*> (option auto $ long "max-width"<> showDefault <> value 100<> help "Max number of concrete values to explore when encountering a symbolic value. This is a form of branch width limitation per symbolic value")
121
+
<*> (optional $ option auto $ long "max-depth"<> help "Limit maximum depth of branching during exploration (default: unlimited)")
0 commit comments