@@ -12,19 +12,22 @@ abstract contract ClampHelper is AssertHelper {
1212 function clampBetween (
1313 uint256 value ,
1414 uint256 low ,
15- uint256 high
15+ uint256 high ,
16+ bool enableLogs
1617 ) internal returns (uint256 ) {
1718 if (value < low || value > high) {
1819 uint256 ans = low + (value % (high - low + 1 ));
19- string memory valueStr = FuzzLibString.toString (value);
20- string memory ansStr = FuzzLibString.toString (ans);
21- bytes memory message = abi.encodePacked (
22- "Clamping value " ,
23- valueStr,
24- " to " ,
25- ansStr
26- );
27- emit Clamped (string (message));
20+ if (enableLogs) {
21+ string memory valueStr = FuzzLibString.toString (value);
22+ string memory ansStr = FuzzLibString.toString (ans);
23+ bytes memory message = abi.encodePacked (
24+ "Clamping value " ,
25+ valueStr,
26+ " to " ,
27+ ansStr
28+ );
29+ emit Clamped (string (message));
30+ }
2831 return ans;
2932 }
3033 return value;
@@ -34,178 +37,197 @@ abstract contract ClampHelper is AssertHelper {
3437 function clampBetween (
3538 int256 value ,
3639 int256 low ,
37- int256 high
40+ int256 high ,
41+ bool enableLogs
3842 ) internal returns (int256 ) {
3943 if (value < low || value > high) {
4044 int256 range = high - low + 1 ;
4145 int256 clamped = (value - low) % (range);
4246 if (clamped < 0 ) clamped += range;
4347 int256 ans = low + clamped;
44- string memory valueStr = FuzzLibString.toString (value);
45- string memory ansStr = FuzzLibString.toString (ans);
46- bytes memory message = abi.encodePacked (
47- "Clamping value " ,
48- valueStr,
49- " to " ,
50- ansStr
51- );
52- emit Clamped (string (message));
48+ if (enableLogs) {
49+ string memory valueStr = FuzzLibString.toString (value);
50+ string memory ansStr = FuzzLibString.toString (ans);
51+ bytes memory message = abi.encodePacked (
52+ "Clamping value " ,
53+ valueStr,
54+ " to " ,
55+ ansStr
56+ );
57+ emit Clamped (string (message));
58+ }
5359 return ans;
5460 }
5561 return value;
5662 }
5763
5864 /// @notice clamps a to be less than b
59- function clampLt (uint256 a , uint256 b ) internal returns (uint256 ) {
65+ function clampLt (uint256 a , uint256 b , bool enableLogs ) internal returns (uint256 ) {
6066 if (! (a < b)) {
6167 assertNeq (
6268 b,
6369 0 ,
6470 "clampLt cannot clamp value a to be less than zero. Check your inputs/assumptions. "
6571 );
6672 uint256 value = a % b;
67- string memory aStr = FuzzLibString.toString (a);
68- string memory valueStr = FuzzLibString.toString (value);
69- bytes memory message = abi.encodePacked (
70- "Clamping value " ,
71- aStr,
72- " to " ,
73- valueStr
74- );
75- emit Clamped (string (message));
73+ if (enableLogs) {
74+ string memory aStr = FuzzLibString.toString (a);
75+ string memory valueStr = FuzzLibString.toString (value);
76+ bytes memory message = abi.encodePacked (
77+ "Clamping value " ,
78+ aStr,
79+ " to " ,
80+ valueStr
81+ );
82+ emit Clamped (string (message));
83+ }
7684 return value;
7785 }
7886 return a;
7987 }
8088
8189 /// @notice int256 version of clampLt
82- function clampLt (int256 a , int256 b ) internal returns (int256 ) {
90+ function clampLt (int256 a , int256 b , bool enableLogs ) internal returns (int256 ) {
8391 if (! (a < b)) {
8492 int256 value = b - 1 ;
85- string memory aStr = FuzzLibString.toString (a);
86- string memory valueStr = FuzzLibString.toString (value);
87- bytes memory message = abi.encodePacked (
88- "Clamping value " ,
89- aStr,
90- " to " ,
91- valueStr
92- );
93- emit Clamped (string (message));
93+ if (enableLogs) {
94+ string memory aStr = FuzzLibString.toString (a);
95+ string memory valueStr = FuzzLibString.toString (value);
96+ bytes memory message = abi.encodePacked (
97+ "Clamping value " ,
98+ aStr,
99+ " to " ,
100+ valueStr
101+ );
102+ emit Clamped (string (message));
103+ }
94104 return value;
95105 }
96106 return a;
97107 }
98108
99109 /// @notice clamps a to be less than or equal to b
100- function clampLte (uint256 a , uint256 b ) internal returns (uint256 ) {
110+ function clampLte (uint256 a , uint256 b , bool enableLogs ) internal returns (uint256 ) {
101111 if (! (a <= b)) {
102112 uint256 value = a % (b + 1 );
103- string memory aStr = FuzzLibString.toString (a);
104- string memory valueStr = FuzzLibString.toString (value);
105- bytes memory message = abi.encodePacked (
106- "Clamping value " ,
107- aStr,
108- " to " ,
109- valueStr
110- );
111- emit Clamped (string (message));
113+ if (enableLogs) {
114+ string memory aStr = FuzzLibString.toString (a);
115+ string memory valueStr = FuzzLibString.toString (value);
116+ bytes memory message = abi.encodePacked (
117+ "Clamping value " ,
118+ aStr,
119+ " to " ,
120+ valueStr
121+ );
122+ emit Clamped (string (message));
123+ }
112124 return value;
113125 }
114126 return a;
115127 }
116128
117129 /// @notice int256 version of clampLte
118- function clampLte (int256 a , int256 b ) internal returns (int256 ) {
130+ function clampLte (int256 a , int256 b , bool enableLogs ) internal returns (int256 ) {
119131 if (! (a <= b)) {
120132 int256 value = b;
121- string memory aStr = FuzzLibString.toString (a);
122- string memory valueStr = FuzzLibString.toString (value);
123- bytes memory message = abi.encodePacked (
124- "Clamping value " ,
125- aStr,
126- " to " ,
127- valueStr
128- );
129- emit Clamped (string (message));
133+ if (enableLogs) {
134+ string memory aStr = FuzzLibString.toString (a);
135+ string memory valueStr = FuzzLibString.toString (value);
136+ bytes memory message = abi.encodePacked (
137+ "Clamping value " ,
138+ aStr,
139+ " to " ,
140+ valueStr
141+ );
142+ emit Clamped (string (message));
143+ }
130144 return value;
131145 }
132146 return a;
133147 }
134148
135149 /// @notice clamps a to be greater than b
136- function clampGt (uint256 a , uint256 b ) internal returns (uint256 ) {
150+ function clampGt (uint256 a , uint256 b , bool enableLogs ) internal returns (uint256 ) {
137151 if (! (a > b)) {
138152 assertNeq (
139153 b,
140154 type (uint256 ).max,
141155 "clampGt cannot clamp value a to be larger than uint256.max. Check your inputs/assumptions. "
142156 );
143157 uint256 value = b + 1 ;
144- string memory aStr = FuzzLibString.toString (a);
145- string memory valueStr = FuzzLibString.toString (value);
146- bytes memory message = abi.encodePacked (
147- "Clamping value " ,
148- aStr,
149- " to " ,
150- valueStr
151- );
152- emit Clamped (string (message));
158+ if (enableLogs) {
159+ string memory aStr = FuzzLibString.toString (a);
160+ string memory valueStr = FuzzLibString.toString (value);
161+ bytes memory message = abi.encodePacked (
162+ "Clamping value " ,
163+ aStr,
164+ " to " ,
165+ valueStr
166+ );
167+ emit Clamped (string (message));
168+ }
153169 return value;
154170 } else {
155171 return a;
156172 }
157173 }
158174
159175 /// @notice int256 version of clampGt
160- function clampGt (int256 a , int256 b ) internal returns (int256 ) {
176+ function clampGt (int256 a , int256 b , bool enableLogs ) internal returns (int256 ) {
161177 if (! (a > b)) {
162178 int256 value = b + 1 ;
163- string memory aStr = FuzzLibString.toString (a);
164- string memory valueStr = FuzzLibString.toString (value);
165- bytes memory message = abi.encodePacked (
166- "Clamping value " ,
167- aStr,
168- " to " ,
169- valueStr
170- );
171- emit Clamped (string (message));
179+ if (enableLogs) {
180+ string memory aStr = FuzzLibString.toString (a);
181+ string memory valueStr = FuzzLibString.toString (value);
182+ bytes memory message = abi.encodePacked (
183+ "Clamping value " ,
184+ aStr,
185+ " to " ,
186+ valueStr
187+ );
188+ emit Clamped (string (message));
189+ }
172190 return value;
173191 } else {
174192 return a;
175193 }
176194 }
177195
178196 /// @notice clamps a to be greater than or equal to b
179- function clampGte (uint256 a , uint256 b ) internal returns (uint256 ) {
197+ function clampGte (uint256 a , uint256 b , bool enableLogs ) internal returns (uint256 ) {
180198 if (! (a > b)) {
181199 uint256 value = b;
182- string memory aStr = FuzzLibString.toString (a);
183- string memory valueStr = FuzzLibString.toString (value);
184- bytes memory message = abi.encodePacked (
185- "Clamping value " ,
186- aStr,
187- " to " ,
188- valueStr
189- );
190- emit Clamped (string (message));
200+ if (enableLogs) {
201+ string memory aStr = FuzzLibString.toString (a);
202+ string memory valueStr = FuzzLibString.toString (value);
203+ bytes memory message = abi.encodePacked (
204+ "Clamping value " ,
205+ aStr,
206+ " to " ,
207+ valueStr
208+ );
209+ emit Clamped (string (message));
210+ }
191211 return value;
192212 }
193213 return a;
194214 }
195215
196216 /// @notice int256 version of clampGte
197- function clampGte (int256 a , int256 b ) internal returns (int256 ) {
217+ function clampGte (int256 a , int256 b , bool enableLogs ) internal returns (int256 ) {
198218 if (! (a > b)) {
199219 int256 value = b;
200- string memory aStr = FuzzLibString.toString (a);
201- string memory valueStr = FuzzLibString.toString (value);
202- bytes memory message = abi.encodePacked (
203- "Clamping value " ,
204- aStr,
205- " to " ,
206- valueStr
207- );
208- emit Clamped (string (message));
220+ if (enableLogs) {
221+ string memory aStr = FuzzLibString.toString (a);
222+ string memory valueStr = FuzzLibString.toString (value);
223+ bytes memory message = abi.encodePacked (
224+ "Clamping value " ,
225+ aStr,
226+ " to " ,
227+ valueStr
228+ );
229+ emit Clamped (string (message));
230+ }
209231 return value;
210232 }
211233 return a;
0 commit comments