@layerzerolabs/utils-upgradeable-evm-contracts 0.2.109 → 0.2.110

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.
Files changed (2) hide show
  1. package/.turbo/turbo-test.log +749 -722
  2. package/package.json +6 -6
@@ -5,7 +5,7 @@
5
5
  ✅ forge-1.3.6-hardhat-2.26.3
6
6
  🔧 forge version: 1.3.6
7
7
  $ docker image inspect --format {{.Architecture}} 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/evm-tooling:forge-1.3.6-hardhat-2.26.3-patch-3
8
- (node:148009) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/configs/vm-tooling/values/docker-image-repo.ts is not specified and it doesn't parse as CommonJS.
8
+ (node:177567) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/configs/vm-tooling/values/docker-image-repo.ts is not specified and it doesn't parse as CommonJS.
9
9
  Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
10
10
  To eliminate this warning, add "type": "module" to /home/runner/work/monorepo-internal/monorepo-internal/package.json.
11
11
  (Use `node --trace-warnings ...` to show where the warning was created)
@@ -13,7 +13,7 @@ To eliminate this warning, add "type": "module" to /home/runner/work/monorepo-in
13
13
  👤 Running container as UID:GID 1001:1001
14
14
  $ docker run --rm --add-host=host.docker.internal:host-gateway -e LOCAL_UID=1001 -e LOCAL_GID=1001 -v /home/runner/work/monorepo-internal/monorepo-internal:/workspace -w /workspace/contracts/common/utils/evm/upgradeable 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/evm-tooling:forge-1.3.6-hardhat-2.26.3-patch-3 forge test
15
15
  Compiling 84 files with Solc 0.8.22
16
- Solc 0.8.22 finished in 12.28s
16
+ Solc 0.8.22 finished in 13.74s
17
17
  Compiler run successful with warnings:
18
18
  Warning (2018): Function state mutability can be restricted to view
19
19
  --> test/EnumerableSetPagination.t.sol:91:5:
@@ -136,44 +136,6 @@ Warning (2018): Function state mutability can be restricted to view
136
136
  | ^ (Relevant source part starts here and spans across multiple lines).
137
137
 
138
138
 
139
- Ran 35 tests for test/RateLimiterBaseUpgradeable.t.sol:RateLimiterBaseUpgradeableTest
140
- [PASS] test_checkpointRateLimits_Empty() (gas: 10824)
141
- [PASS] test_checkpointRateLimits_Multiple() (gas: 151676)
142
- [PASS] test_checkpointRateLimits_PreservesDecay() (gas: 91907)
143
- [PASS] test_checkpointRateLimits_Single() (gas: 85741)
144
- [PASS] test_constructor_MaxScaledDecimals() (gas: 1389503)
145
- [PASS] test_constructor_Revert_InvalidScaledDecimals() (gas: 38049)
146
- [PASS] test_constructor_ZeroScaledDecimals() (gas: 1389321)
147
- [PASS] test_getRateLimitUsages_BothDisabled() (gas: 25007)
148
- [PASS] test_getRateLimitUsages_GloballyDisabled() (gas: 46159)
149
- [PASS] test_getRateLimitUsages_InboundDisabled() (gas: 23907)
150
- [PASS] test_getRateLimitUsages_OutboundDisabled() (gas: 23940)
151
- [PASS] test_getRateLimitUsages_WithDecay() (gas: 86849)
152
- [PASS] test_globalState_IgnoresIdSpecificConfig() (gas: 2123212)
153
- [PASS] test_globalState_SharesStateAcrossIds() (gas: 2086558)
154
- [PASS] test_globalState_UsesDefaultIdForState() (gas: 2083978)
155
- [PASS] test_inflow_DefaultConfig_SpecificState_Inbound_Gross_NotExempt() (gas: 51618)
156
- [PASS] test_inflow_GloballyDisabled() (gas: 52015)
157
- [PASS] test_inflow_WithScaleDecimals() (gas: 2080458)
158
- [PASS] test_initial_state_closed() (gas: 2034659)
159
- [PASS] test_outflow_DefaultConfig_SpecificState_Outbound_Gross_NotExempt() (gas: 51752)
160
- [PASS] test_outflow_ExplicitConfig_SpecificState_Both_Gross_Exempt() (gas: 30559)
161
- [PASS] test_outflow_ExplicitConfig_SpecificState_Outbound_Gross_NotExempt() (gas: 32670)
162
- [PASS] test_outflow_GloballyDisabled() (gas: 52036)
163
- [PASS] test_outflow_Revert_RateLimitExceeded() (gas: 76468)
164
- [PASS] test_outflow_WithScaleDecimals() (gas: 2080385)
165
- [PASS] test_setRateLimitAddressExemptions() (gas: 59682)
166
- [PASS] test_setRateLimitAddressExemptions_Revert_AlreadyExempt() (gas: 21817)
167
- [PASS] test_setRateLimitConfigs_DoesNotAutoCheckpoint() (gas: 94677)
168
- [PASS] test_setRateLimitConfigs_Multiple() (gas: 107608)
169
- [PASS] test_setRateLimitConfigs_Single() (gas: 76669)
170
- [PASS] test_setRateLimitGlobalConfig() (gas: 49357)
171
- [PASS] test_setRateLimitStates_Revert_FutureTimestamp() (gas: 16394)
172
- [PASS] test_setRateLimitStates_Single() (gas: 49974)
173
- [PASS] test_storageHash() (gas: 3414)
174
- [PASS] test_upscaleRateLimitAmount() (gas: 2014907)
175
- Suite result: ok. 35 passed; 0 failed; 0 skipped; finished in 16.18ms (11.87ms CPU time)
176
-
177
139
  Ran 40 tests for test/RateLimiterRBACUpgradeable.t.sol:RateLimiterRBACUpgradeableTest
178
140
  [PASS] test_checkpointRateLimits_Empty() (gas: 13362)
179
141
  [PASS] test_checkpointRateLimits_Multiple() (gas: 154640)
@@ -215,15 +177,45 @@ Ran 40 tests for test/RateLimiterRBACUpgradeable.t.sol:RateLimiterRBACUpgradeabl
215
177
  [PASS] test_setRateLimitStates_Single() (gas: 52512)
216
178
  [PASS] test_storageHash() (gas: 3392)
217
179
  [PASS] test_upscaleRateLimitAmount() (gas: 2750380)
218
- Suite result: ok. 40 passed; 0 failed; 0 skipped; finished in 21.94ms (16.04ms CPU time)
180
+ Suite result: ok. 40 passed; 0 failed; 0 skipped; finished in 12.17ms (8.87ms CPU time)
219
181
 
220
- Ran 5 tests for test/FeeHandlerBaseUpgradeable.t.sol:FeeHandlerBaseUpgradeableTest
221
- [PASS] test_feeDeposit() (gas: 17576)
222
- [PASS] test_setFeeDeposit() (gas: 24995)
223
- [PASS] test_setFeeDeposit_Fuzz(address) (runs: 1000, μ: 21454, ~: 21454)
224
- [PASS] test_setFeeDeposit_Revert_ZeroAddress() (gas: 13273)
225
- [PASS] test_storageHash() (gas: 3337)
226
- Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 43.07ms (42.57ms CPU time)
182
+ Ran 35 tests for test/RateLimiterBaseUpgradeable.t.sol:RateLimiterBaseUpgradeableTest
183
+ [PASS] test_checkpointRateLimits_Empty() (gas: 10824)
184
+ [PASS] test_checkpointRateLimits_Multiple() (gas: 151676)
185
+ [PASS] test_checkpointRateLimits_PreservesDecay() (gas: 91907)
186
+ [PASS] test_checkpointRateLimits_Single() (gas: 85741)
187
+ [PASS] test_constructor_MaxScaledDecimals() (gas: 1389503)
188
+ [PASS] test_constructor_Revert_InvalidScaledDecimals() (gas: 38049)
189
+ [PASS] test_constructor_ZeroScaledDecimals() (gas: 1389321)
190
+ [PASS] test_getRateLimitUsages_BothDisabled() (gas: 25007)
191
+ [PASS] test_getRateLimitUsages_GloballyDisabled() (gas: 46159)
192
+ [PASS] test_getRateLimitUsages_InboundDisabled() (gas: 23907)
193
+ [PASS] test_getRateLimitUsages_OutboundDisabled() (gas: 23940)
194
+ [PASS] test_getRateLimitUsages_WithDecay() (gas: 86849)
195
+ [PASS] test_globalState_IgnoresIdSpecificConfig() (gas: 2123212)
196
+ [PASS] test_globalState_SharesStateAcrossIds() (gas: 2086558)
197
+ [PASS] test_globalState_UsesDefaultIdForState() (gas: 2083978)
198
+ [PASS] test_inflow_DefaultConfig_SpecificState_Inbound_Gross_NotExempt() (gas: 51618)
199
+ [PASS] test_inflow_GloballyDisabled() (gas: 52015)
200
+ [PASS] test_inflow_WithScaleDecimals() (gas: 2080458)
201
+ [PASS] test_initial_state_closed() (gas: 2034659)
202
+ [PASS] test_outflow_DefaultConfig_SpecificState_Outbound_Gross_NotExempt() (gas: 51752)
203
+ [PASS] test_outflow_ExplicitConfig_SpecificState_Both_Gross_Exempt() (gas: 30559)
204
+ [PASS] test_outflow_ExplicitConfig_SpecificState_Outbound_Gross_NotExempt() (gas: 32670)
205
+ [PASS] test_outflow_GloballyDisabled() (gas: 52036)
206
+ [PASS] test_outflow_Revert_RateLimitExceeded() (gas: 76468)
207
+ [PASS] test_outflow_WithScaleDecimals() (gas: 2080385)
208
+ [PASS] test_setRateLimitAddressExemptions() (gas: 59682)
209
+ [PASS] test_setRateLimitAddressExemptions_Revert_AlreadyExempt() (gas: 21817)
210
+ [PASS] test_setRateLimitConfigs_DoesNotAutoCheckpoint() (gas: 94677)
211
+ [PASS] test_setRateLimitConfigs_Multiple() (gas: 107608)
212
+ [PASS] test_setRateLimitConfigs_Single() (gas: 76669)
213
+ [PASS] test_setRateLimitGlobalConfig() (gas: 49357)
214
+ [PASS] test_setRateLimitStates_Revert_FutureTimestamp() (gas: 16394)
215
+ [PASS] test_setRateLimitStates_Single() (gas: 49974)
216
+ [PASS] test_storageHash() (gas: 3414)
217
+ [PASS] test_upscaleRateLimitAmount() (gas: 2014907)
218
+ Suite result: ok. 35 passed; 0 failed; 0 skipped; finished in 16.70ms (15.22ms CPU time)
227
219
 
228
220
  Ran 6 tests for test/FeeHandlerRBACUpgradeable.t.sol:FeeHandlerRBACUpgradeableTest
229
221
  [PASS] test_feeDeposit() (gas: 17638)
@@ -232,141 +224,109 @@ Ran 6 tests for test/FeeHandlerRBACUpgradeable.t.sol:FeeHandlerRBACUpgradeableTe
232
224
  [PASS] test_setFeeDeposit_Revert_Unauthorized() (gas: 22370)
233
225
  [PASS] test_setFeeDeposit_Revert_ZeroAddress() (gas: 15811)
234
226
  [PASS] test_storageHash() (gas: 3315)
235
- Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 48.23ms (47.53ms CPU time)
236
-
237
- Ran 10 tests for test/RateLimiterUtils.t.sol:RateLimiterUtilsTest
238
- [PASS] test_decodeConfigBitmapFlags_AllFalse() (gas: 10012)
239
- [PASS] test_decodeConfigBitmapFlags_AllTrue() (gas: 10034)
240
- [PASS] test_decodeConfigBitmapFlags_Mixed() (gas: 9990)
241
- [PASS] test_decodeOverrideDefaultConfig_False() (gas: 8488)
242
- [PASS] test_decodeOverrideDefaultConfig_Fuzz(uint24) (runs: 1000, μ: 3388, ~: 3393)
243
- [PASS] test_decodeOverrideDefaultConfig_True() (gas: 8456)
244
- [PASS] test_encodeConfigBitmap_AllFalse() (gas: 8957)
245
- [PASS] test_encodeConfigBitmap_AllTrue() (gas: 8999)
246
- [PASS] test_encodeConfigBitmap_Mixed() (gas: 8977)
247
- [PASS] test_encodeDecode_Fuzz(bool,bool,bool,bool,bool) (runs: 1000, μ: 5017, ~: 5017)
248
- Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 130.44ms (130.22ms CPU time)
227
+ Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 54.52ms (53.66ms CPU time)
249
228
 
250
- Ran 31 tests for test/PauseByIDBaseUpgradeable.t.sol:PauseByIDBaseUpgradeableTest
251
- [PASS] test_assertNotPaused_Revert_DefaultPaused() (gas: 40927)
252
- [PASS] test_assertNotPaused_Revert_SpecificPaused() (gas: 40924)
253
- [PASS] test_assertNotPaused_Success() (gas: 14934)
254
- [PASS] test_defaultPause_AffectsMultipleIDs() (gas: 52995)
255
- [PASS] test_defaultPaused_InitialState() (gas: 15571)
256
- [PASS] test_initialize_Revert_AlreadyInitialized() (gas: 15852)
257
- [PASS] test_isPaused_Default() (gas: 44698)
258
- [PASS] test_isPaused_InitialState() (gas: 22070)
259
- [PASS] test_isPaused_MultipleIDs() (gas: 73915)
260
- [PASS] test_isPaused_Override() (gas: 69381)
261
- [PASS] test_isPaused_Specific() (gas: 46709)
262
- [PASS] test_isPaused_SpecificDisabled() (gas: 51615)
263
- [PASS] test_pauseConfig() (gas: 45626)
264
- [PASS] test_setDefaultPaused() (gas: 39667)
265
- [PASS] test_setDefaultPaused_Fuzz(bool) (runs: 1000, μ: 27936, ~: 16332)
266
- [PASS] test_setDefaultPaused_Idempotent_InitialState_Reverts() (gas: 17984)
267
- [PASS] test_setDefaultPaused_Idempotent_Reverts() (gas: 38782)
268
- [PASS] test_setPaused() (gas: 43060)
269
- [PASS] test_setPaused_EmptyArray() (gas: 10900)
270
- [PASS] test_setPaused_Fuzz(uint256,bool,bool) (runs: 1000, μ: 38059, ~: 43373)
271
- [PASS] test_setPaused_Success_EdgeCase_IDMaxUint256() (gas: 40562)
272
- [PASS] test_setPaused_Success_EdgeCase_IDZero() (gas: 40524)
273
- [PASS] test_setPaused_Success_Toggle() (gas: 51442)
274
- [PASS] test_specificOverridesDefault_Fuzz(bool,bool) (runs: 1000, μ: 57936, ~: 46989)
275
- [PASS] test_storageHash() (gas: 3480)
276
- [PASS] test_whenNotPaused_Revert_DefaultPaused() (gas: 44708)
277
- [PASS] test_whenNotPaused_Revert_SpecificPaused() (gas: 44758)
278
- [PASS] test_whenNotPaused_Success() (gas: 41297)
279
- [PASS] test_whenNotPaused_Success_SpecificUnpaused() (gas: 88596)
280
- [PASS] test_whenNotPaused_WithReturnValue() (gas: 17880)
281
- [PASS] test_whenNotPaused_WithReturnValue_Reverts() (gas: 40880)
282
- Suite result: ok. 31 passed; 0 failed; 0 skipped; finished in 376.07ms (594.69ms CPU time)
229
+ Ran 5 tests for test/FeeHandlerBaseUpgradeable.t.sol:FeeHandlerBaseUpgradeableTest
230
+ [PASS] test_feeDeposit() (gas: 17576)
231
+ [PASS] test_setFeeDeposit() (gas: 24995)
232
+ [PASS] test_setFeeDeposit_Fuzz(address) (runs: 1000, μ: 21454, ~: 21454)
233
+ [PASS] test_setFeeDeposit_Revert_ZeroAddress() (gas: 13273)
234
+ [PASS] test_storageHash() (gas: 3337)
235
+ Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 84.68ms (47.38ms CPU time)
283
236
 
284
- Ran 19 tests for test/PauseBaseUpgradeable.t.sol:PauseBaseUpgradeableTest
285
- [PASS] test_assertNotPaused_Fuzz(bool) (runs: 1000, μ: 25828, ~: 38584)
286
- [PASS] test_assertNotPaused_Revert_Paused() (gas: 38375)
287
- [PASS] test_assertNotPaused_Success() (gas: 12516)
288
- [PASS] test_initialize_Revert_AlreadyInitialized() (gas: 15725)
289
- [PASS] test_isPaused_InitialState() (gas: 15595)
290
- [PASS] test_pause() (gas: 39592)
291
- [PASS] test_setPaused_Fuzz(bool) (runs: 1000, μ: 28016, ~: 16219)
292
- [PASS] test_setPaused_Idempotent_InitialState_Reverts() (gas: 17914)
293
- [PASS] test_setPaused_Idempotent_Reverts() (gas: 38543)
294
- [PASS] test_setPaused_Success_ToggleMultipleTimes() (gas: 74144)
237
+ Ran 27 tests for test/PauseRBACUpgradeable.t.sol:PauseRBACUpgradeableTest
238
+ [PASS] test_assertNotPaused_Fuzz(bool) (runs: 1000, μ: 27758, ~: 41090)
239
+ [PASS] test_assertNotPaused_Revert_Paused() (gas: 40859)
240
+ [PASS] test_assertNotPaused_Success() (gas: 12539)
241
+ [PASS] test_initialize_Revert_AlreadyInitialized() (gas: 15965)
242
+ [PASS] test_initialize_Revert_AlreadyInitialized_AdminUnchanged() (gas: 49417)
243
+ [PASS] test_isPaused_InitialState() (gas: 15629)
244
+ [PASS] test_modifierEnforcement_WithRoles() (gas: 218598)
245
+ [PASS] test_multipleRoleGrants() (gas: 394130)
246
+ [PASS] test_pause() (gas: 42109)
247
+ [PASS] test_renounceRole_Success_FunctionsRevert() (gas: 36029)
248
+ [PASS] test_roleTransfer_GrantAndRevoke() (gas: 180125)
249
+ [PASS] test_setPaused_Fuzz(bool) (runs: 1000, μ: 30708, ~: 42378)
250
+ [PASS] test_setPaused_Idempotent_InitialState_Reverts() (gas: 20507)
251
+ [PASS] test_setPaused_Idempotent_Reverts() (gas: 41497)
252
+ [PASS] test_setPaused_Revert_Unauthorized() (gas: 20279)
253
+ [PASS] test_setPaused_Success() (gas: 40691)
254
+ [PASS] test_setPaused_Success_MultipleOperations() (gas: 58020)
255
+ [PASS] test_setPaused_Success_ToggleMultipleTimes() (gas: 79509)
295
256
  [PASS] test_storageHash() (gas: 3414)
296
- [PASS] test_unpause() (gas: 31115)
297
- [PASS] test_whenNotPaused_Fuzz(bool) (runs: 1000, μ: 40439, ~: 38893)
298
- [PASS] test_whenNotPaused_Revert_Paused() (gas: 41855)
299
- [PASS] test_whenNotPaused_Revert_WithReturnValue() (gas: 38375)
300
- [PASS] test_whenNotPaused_Success() (gas: 38744)
301
- [PASS] test_whenNotPaused_Success_AfterUnpause() (gas: 48261)
302
- [PASS] test_whenNotPaused_Success_MultipleCalls() (gas: 56792)
303
- [PASS] test_whenNotPaused_WithReturnValue() (gas: 15624)
304
- Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 1.50s (339.64ms CPU time)
257
+ [PASS] test_unpause() (gas: 35177)
258
+ [PASS] test_whenNotPaused_Fuzz(bool) (runs: 1000, μ: 41793, ~: 44479)
259
+ [PASS] test_whenNotPaused_Revert_Paused() (gas: 44372)
260
+ [PASS] test_whenNotPaused_Revert_WithReturnValue() (gas: 40903)
261
+ [PASS] test_whenNotPaused_Success() (gas: 38800)
262
+ [PASS] test_whenNotPaused_Success_AfterUnpause() (gas: 52332)
263
+ [PASS] test_whenNotPaused_Success_MultipleCalls() (gas: 61669)
264
+ [PASS] test_whenNotPaused_WithReturnValue() (gas: 15658)
265
+ Suite result: ok. 27 passed; 0 failed; 0 skipped; finished in 89.81ms (147.76ms CPU time)
305
266
 
306
- Ran 24 tests for test/FeeConfigRBACUpgradeable.t.sol:FeeConfigRBACUpgradeableTest
307
- [PASS] test_getAmountBeforeFee_BoundaryConditions() (gas: 51175)
308
- [PASS] test_getAmountBeforeFee_Default() (gas: 47637)
309
- [PASS] test_getAmountBeforeFee_Fuzz(uint16,uint224) (runs: 1000, μ: 47092, ~: 48966)
310
- [PASS] test_getAmountBeforeFee_MaxBps() (gas: 47301)
311
- [PASS] test_getAmountBeforeFee_Rounding() (gas: 48148)
312
- [PASS] test_getAmountBeforeFee_Specific() (gas: 71482)
313
- [PASS] test_getAmountBeforeFee_SpecificDisabled() (gas: 67096)
314
- [PASS] test_getAmountBeforeFee_ZeroAmount() (gas: 43173)
315
- [PASS] test_getAmountBeforeFee_ZeroBps() (gas: 22479)
316
- [PASS] test_getFee_BoundaryConditions() (gas: 75442)
317
- [PASS] test_getFee_Default() (gas: 43108)
318
- [PASS] test_getFee_Fuzz(uint16,uint32,uint240) (runs: 1000, μ: 45855, ~: 47017)
319
- [PASS] test_getFee_Rounding() (gas: 45449)
320
- [PASS] test_getFee_Specific() (gas: 66985)
321
- [PASS] test_getFee_SpecificDisabled() (gas: 66943)
322
- [PASS] test_setDefaultFeeBps() (gas: 42199)
323
- [PASS] test_setDefaultFeeBps_Fuzz(uint16) (runs: 1000, μ: 35673, ~: 42268)
324
- [PASS] test_setDefaultFeeBps_RevertInvalid() (gas: 16371)
325
- [PASS] test_setDefaultFeeBps_Revert_Unauthorized() (gas: 20432)
326
- [PASS] test_setFeeBps() (gas: 77237)
267
+ Ran 33 tests for test/AccessControl2StepUpgradeable.t.sol:AccessControl2StepUpgradeableTest
268
+ [PASS] test_acceptDefaultAdminTransfer_Events() (gas: 97372)
269
+ [PASS] test_acceptDefaultAdminTransfer_Fuzz(address) (runs: 1000, μ: 104264, ~: 104248)
270
+ [PASS] test_acceptDefaultAdminTransfer_Revert_AfterCancel() (gas: 33248)
271
+ [PASS] test_acceptDefaultAdminTransfer_Revert_NoPendingTransfer() (gas: 18543)
272
+ [PASS] test_acceptDefaultAdminTransfer_Revert_NotPendingAdmin() (gas: 45828)
273
+ [PASS] test_acceptDefaultAdminTransfer_Revert_StalePendingAfterOverwrite() (gas: 103114)
274
+ [PASS] test_acceptDefaultAdminTransfer_Success() (gas: 103488)
275
+ [PASS] test_beginDefaultAdminTransfer_Fuzz(address) (runs: 1000, μ: 46847, ~: 46847)
276
+ [PASS] test_beginDefaultAdminTransfer_Revert_Unauthorized() (gas: 23351)
277
+ [PASS] test_beginDefaultAdminTransfer_Success() (gas: 50886)
278
+ [PASS] test_beginDefaultAdminTransfer_Success_CancelsBySettingZero() (gas: 35608)
279
+ [PASS] test_beginDefaultAdminTransfer_Success_OverwritesPending() (gas: 50268)
280
+ [PASS] test_defaultAdmin_ReturnsInitialAdmin() (gas: 17748)
281
+ [PASS] test_grantRole_Revert_DefaultAdminRole() (gas: 22754)
282
+ [PASS] test_grantRole_Success_NonAdminRole() (gas: 116081)
283
+ [PASS] test_initialize_Revert_AlreadyInitialized() (gas: 15933)
284
+ [PASS] test_initialize_Revert_InvalidDefaultAdmin() (gas: 863678)
285
+ [PASS] test_initialize_Success_AdminHasRole() (gas: 32722)
286
+ [PASS] test_integration_TransferAndTransferAgain() (gas: 234392)
287
+ [PASS] test_integration_TransferCancelRetransfer() (gas: 120851)
288
+ [PASS] test_pendingDefaultAdmin_InitiallyZero() (gas: 15672)
289
+ [PASS] test_renounceRole_Revert_DefaultAdminRole() (gas: 18191)
290
+ [PASS] test_renounceRole_Revert_DefaultAdminRoleDuringPendingTransfer() (gas: 47370)
291
+ [PASS] test_renounceRole_Success_NonAdminRole_Admin() (gas: 93290)
292
+ [PASS] test_renounceRole_Success_NonAdminRole_NonAdmin() (gas: 94023)
293
+ [PASS] test_revokeRole_Revert_DefaultAdminRole_Admin() (gas: 22885)
294
+ [PASS] test_revokeRole_Revert_DefaultAdminRole_NonAdmin() (gas: 25784)
295
+ [PASS] test_revokeRole_Revert_NonAdminRole_NonAdmin() (gas: 124079)
296
+ [PASS] test_revokeRole_Success_NonAdminRole_Admin() (gas: 95654)
297
+ [PASS] test_setRoleAdmin_Revert_DefaultAdminRole() (gas: 18062)
298
+ [PASS] test_setRoleAdmin_Success_NonAdminRole_Other() (gas: 42684)
299
+ [PASS] test_setRoleAdmin_Success_NonAdminRole_Self() (gas: 23859)
300
+ [PASS] test_storageHash() (gas: 3380)
301
+ Suite result: ok. 33 passed; 0 failed; 0 skipped; finished in 209.53ms (284.12ms CPU time)
302
+
303
+ Ran 22 tests for test/FeeConfigBaseUpgradeable.t.sol:FeeConfigBaseUpgradeableTest
304
+ [PASS] test_getAmountBeforeFee_BoundaryConditions() (gas: 48074)
305
+ [PASS] test_getAmountBeforeFee_Default() (gas: 45067)
306
+ [PASS] test_getAmountBeforeFee_Fuzz(uint16,uint224) (runs: 1000, μ: 44830, ~: 46317)
307
+ [PASS] test_getAmountBeforeFee_MaxBps() (gas: 44658)
308
+ [PASS] test_getAmountBeforeFee_Rounding() (gas: 45406)
309
+ [PASS] test_getAmountBeforeFee_Specific() (gas: 68448)
310
+ [PASS] test_getAmountBeforeFee_SpecificDisabled() (gas: 64007)
311
+ [PASS] test_getAmountBeforeFee_ZeroAmount() (gas: 40642)
312
+ [PASS] test_getAmountBeforeFee_ZeroBps() (gas: 22306)
313
+ [PASS] test_getFee_BoundaryConditions() (gas: 71791)
314
+ [PASS] test_getFee_Default() (gas: 40577)
315
+ [PASS] test_getFee_Fuzz(uint16,uint32,uint240) (runs: 1000, μ: 42924, ~: 44486)
316
+ [PASS] test_getFee_Rounding() (gas: 42835)
317
+ [PASS] test_getFee_Specific() (gas: 63968)
318
+ [PASS] test_getFee_SpecificDisabled() (gas: 63920)
319
+ [PASS] test_setDefaultFeeBps() (gas: 39576)
320
+ [PASS] test_setDefaultFeeBps_Fuzz(uint16) (runs: 1000, μ: 33194, ~: 39667)
321
+ [PASS] test_setDefaultFeeBps_RevertInvalid() (gas: 13860)
322
+ [PASS] test_setFeeBps() (gas: 73871)
327
323
  Logs:
328
324
  Bound result 500
329
325
 
330
- [PASS] test_setFeeBps_Fuzz(uint16,uint32,uint16,bool) (runs: 1000, μ: 68831, ~: 77570)
331
- [PASS] test_setFeeBps_RevertInvalid() (gas: 16575)
332
- [PASS] test_setFeeBps_Revert_Unauthorized() (gas: 20531)
333
- [PASS] test_storageHash() (gas: 3436)
334
- Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 1.63s (929.52ms CPU time)
335
-
336
- Ran 32 tests for test/AllowlistRBACUpgradeable.t.sol:AllowlistRBACUpgradeableTest
337
- [PASS] test_SwitchModes_PreservesState() (gas: 195548)
338
- [PASS] test_constructor_InitialMode() (gas: 15778)
339
- [PASS] test_constructor_InitializeWhitelist() (gas: 2171134)
340
- [PASS] test_isAllowlisted_Blacklist_Blacklisted() (gas: 127952)
341
- [PASS] test_isAllowlisted_Blacklist_NotBlacklisted() (gas: 45551)
342
- [PASS] test_isAllowlisted_Fuzz_Blacklist_Blacklisted(address) (runs: 1000, μ: 115161, ~: 115161)
343
- [PASS] test_isAllowlisted_Fuzz_Blacklist_NotBlacklisted(address) (runs: 1000, μ: 43599, ~: 43599)
344
- [PASS] test_isAllowlisted_Fuzz_Open(address) (runs: 1000, μ: 15886, ~: 15886)
345
- [PASS] test_isAllowlisted_Fuzz_Whitelist_NotWhitelisted(address) (runs: 1000, μ: 43652, ~: 43652)
346
- [PASS] test_isAllowlisted_Fuzz_Whitelist_Whitelisted(address) (runs: 1000, μ: 115159, ~: 115159)
347
- [PASS] test_isAllowlisted_Open_AllAllowed() (gas: 26122)
348
- [PASS] test_isAllowlisted_Whitelist_NotWhitelisted() (gas: 45582)
349
- [PASS] test_isAllowlisted_Whitelist_Whitelisted() (gas: 127862)
350
- [PASS] test_onlyAllowlisted_Blacklist_RevertIfBlacklisted() (gas: 126878)
351
- [PASS] test_onlyAllowlisted_Open_AllAllowed() (gas: 22694)
352
- [PASS] test_onlyAllowlisted_Whitelist_RevertIfNotWhitelisted() (gas: 124784)
353
- [PASS] test_setAllowlistMode_Revert_Unauthorized() (gas: 20371)
354
- [PASS] test_setBlacklisted_EmptyArray() (gas: 13361)
355
- [PASS] test_setBlacklisted_MultipleUsers() (gas: 173727)
356
- [PASS] test_setBlacklisted_RemoveFromBlacklist() (gas: 99570)
357
- [PASS] test_setBlacklisted_Revert_AlreadyBlacklisted() (gas: 125055)
358
- [PASS] test_setBlacklisted_Revert_Unauthorized() (gas: 23329)
359
- [PASS] test_setMode_Blacklist() (gas: 42605)
360
- [PASS] test_setMode_MultipleChanges() (gas: 43274)
361
- [PASS] test_setMode_RevertSameMode() (gas: 51355)
362
- [PASS] test_setMode_Whitelist() (gas: 42714)
363
- [PASS] test_setWhitelisted_EmptyArray() (gas: 13339)
364
- [PASS] test_setWhitelisted_MultipleUsers() (gas: 173661)
365
- [PASS] test_setWhitelisted_RemoveFromWhitelist() (gas: 99588)
366
- [PASS] test_setWhitelisted_Revert_AlreadyWhitelisted() (gas: 125059)
367
- [PASS] test_setWhitelisted_Revert_Unauthorized() (gas: 23176)
368
- [PASS] test_storageHash() (gas: 3480)
369
- Suite result: ok. 32 passed; 0 failed; 0 skipped; finished in 1.80s (788.17ms CPU time)
326
+ [PASS] test_setFeeBps_Fuzz(uint16,uint32,uint16,bool) (runs: 1000, μ: 64727, ~: 74224)
327
+ [PASS] test_setFeeBps_RevertInvalid() (gas: 14075)
328
+ [PASS] test_storageHash() (gas: 3426)
329
+ Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 895.51ms (556.98ms CPU time)
370
330
 
371
331
  Ran 47 tests for test/PauseByIDRBACUpgradeable.t.sol:PauseByIDRBACUpgradeableTest
372
332
  [PASS] test_assertNotPaused_Revert_DefaultPaused() (gas: 43478)
@@ -384,7 +344,7 @@ Ran 47 tests for test/PauseByIDRBACUpgradeable.t.sol:PauseByIDRBACUpgradeableTes
384
344
  [PASS] test_pauseConfig() (gas: 51028)
385
345
  [PASS] test_roleManagement_grantAndRevoke() (gas: 172245)
386
346
  [PASS] test_setDefaultPaused() (gas: 42196)
387
- [PASS] test_setDefaultPaused_Fuzz(bool) (runs: 1000, μ: 30636, ~: 30636)
347
+ [PASS] test_setDefaultPaused_Fuzz(bool) (runs: 1000, μ: 30258, ~: 18826)
388
348
  [PASS] test_setDefaultPaused_Idempotent_InitialState_Reverts() (gas: 20523)
389
349
  [PASS] test_setDefaultPaused_Idempotent_Reverts() (gas: 41737)
390
350
  [PASS] test_setDefaultPaused_Revert_Unauthorized() (gas: 20560)
@@ -393,8 +353,8 @@ Ran 47 tests for test/PauseByIDRBACUpgradeable.t.sol:PauseByIDRBACUpgradeableTes
393
353
  [PASS] test_setPaused_DormantData() (gas: 295234)
394
354
  [PASS] test_setPaused_EmptyArray() (gas: 15702)
395
355
  [PASS] test_setPaused_EmptyArrayWithUnpauserRole() (gas: 100683)
396
- [PASS] test_setPaused_Fuzz(uint256,bool,bool) (runs: 1000, μ: 43647, ~: 48696)
397
- [PASS] test_setPaused_Fuzz_EffectiveStateRoleCheck(bool,bool,bool) (runs: 1000, μ: 223131, ~: 216804)
356
+ [PASS] test_setPaused_Fuzz(uint256,bool,bool) (runs: 1000, μ: 43805, ~: 48696)
357
+ [PASS] test_setPaused_Fuzz_EffectiveStateRoleCheck(bool,bool,bool) (runs: 1000, μ: 223140, ~: 216804)
398
358
  [PASS] test_setPaused_Revert_EmptyArrayUnauthorized() (gas: 23131)
399
359
  [PASS] test_setPaused_Revert_MixedBatchWithDisabledConfigs_NeedsBothRoles() (gas: 132176)
400
360
  [PASS] test_setPaused_Revert_PauserCannotCauseEffectiveUnpause() (gas: 107518)
@@ -408,7 +368,7 @@ Ran 47 tests for test/PauseByIDRBACUpgradeable.t.sol:PauseByIDRBACUpgradeableTes
408
368
  [PASS] test_setPaused_Success_PauserCanSetDisabledWhenDefaultPaused() (gas: 133457)
409
369
  [PASS] test_setPaused_Success_Toggle() (gas: 58022)
410
370
  [PASS] test_setPaused_Success_UnpauserCanSetDisabledWhenDefaultUnpaused() (gas: 130070)
411
- [PASS] test_specificOverridesDefault_Fuzz(bool,bool) (runs: 1000, μ: 62469, ~: 73465)
371
+ [PASS] test_specificOverridesDefault_Fuzz(bool,bool) (runs: 1000, μ: 62331, ~: 50341)
412
372
  [PASS] test_storageHash() (gas: 3392)
413
373
  [PASS] test_whenNotPaused_Revert_DefaultPaused() (gas: 47171)
414
374
  [PASS] test_whenNotPaused_Revert_SpecificPaused() (gas: 49932)
@@ -416,801 +376,838 @@ Ran 47 tests for test/PauseByIDRBACUpgradeable.t.sol:PauseByIDRBACUpgradeableTes
416
376
  [PASS] test_whenNotPaused_Success_SpecificUnpaused() (gas: 94341)
417
377
  [PASS] test_whenNotPaused_WithReturnValue() (gas: 17859)
418
378
  [PASS] test_whenNotPaused_WithReturnValue_Reverts() (gas: 46165)
419
- Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 2.25s (1.47s CPU time)
379
+ Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 1.10s (573.39ms CPU time)
420
380
 
421
- Ran 8 tests for test/RateLimiterRBACUpgradeableInvariant.t.sol:RateLimiterRBACUpgradeableInvariantTest
381
+ Ran 31 tests for test/PauseByIDBaseUpgradeable.t.sol:PauseByIDBaseUpgradeableTest
382
+ [PASS] test_assertNotPaused_Revert_DefaultPaused() (gas: 40927)
383
+ [PASS] test_assertNotPaused_Revert_SpecificPaused() (gas: 40924)
384
+ [PASS] test_assertNotPaused_Success() (gas: 14934)
385
+ [PASS] test_defaultPause_AffectsMultipleIDs() (gas: 52995)
386
+ [PASS] test_defaultPaused_InitialState() (gas: 15571)
387
+ [PASS] test_initialize_Revert_AlreadyInitialized() (gas: 15852)
388
+ [PASS] test_isPaused_Default() (gas: 44698)
389
+ [PASS] test_isPaused_InitialState() (gas: 22070)
390
+ [PASS] test_isPaused_MultipleIDs() (gas: 73915)
391
+ [PASS] test_isPaused_Override() (gas: 69381)
392
+ [PASS] test_isPaused_Specific() (gas: 46709)
393
+ [PASS] test_isPaused_SpecificDisabled() (gas: 51615)
394
+ [PASS] test_pauseConfig() (gas: 45626)
395
+ [PASS] test_setDefaultPaused() (gas: 39667)
396
+ [PASS] test_setDefaultPaused_Fuzz(bool) (runs: 1000, μ: 28408, ~: 39918)
397
+ [PASS] test_setDefaultPaused_Idempotent_InitialState_Reverts() (gas: 17984)
398
+ [PASS] test_setDefaultPaused_Idempotent_Reverts() (gas: 38782)
399
+ [PASS] test_setPaused() (gas: 43060)
400
+ [PASS] test_setPaused_EmptyArray() (gas: 10900)
401
+ [PASS] test_setPaused_Fuzz(uint256,bool,bool) (runs: 1000, μ: 38000, ~: 43373)
402
+ [PASS] test_setPaused_Success_EdgeCase_IDMaxUint256() (gas: 40562)
403
+ [PASS] test_setPaused_Success_EdgeCase_IDZero() (gas: 40524)
404
+ [PASS] test_setPaused_Success_Toggle() (gas: 51442)
405
+ [PASS] test_specificOverridesDefault_Fuzz(bool,bool) (runs: 1000, μ: 57891, ~: 46989)
406
+ [PASS] test_storageHash() (gas: 3480)
407
+ [PASS] test_whenNotPaused_Revert_DefaultPaused() (gas: 44708)
408
+ [PASS] test_whenNotPaused_Revert_SpecificPaused() (gas: 44758)
409
+ [PASS] test_whenNotPaused_Success() (gas: 41297)
410
+ [PASS] test_whenNotPaused_Success_SpecificUnpaused() (gas: 88596)
411
+ [PASS] test_whenNotPaused_WithReturnValue() (gas: 17880)
412
+ [PASS] test_whenNotPaused_WithReturnValue_Reverts() (gas: 40880)
413
+ Suite result: ok. 31 passed; 0 failed; 0 skipped; finished in 1.20s (255.75ms CPU time)
414
+
415
+ Ran 8 tests for test/RateLimiterRBACUpgradeableInvariant.t.sol:RateLimiterRBACUpgradeableInvariantGlobalStateTest
422
416
  [PASS] invariant_AvailableConsistent() (runs: 256, calls: 3840, reverts: 0)
423
417
 
424
418
  ╭-----------------------------------+---------------------+-------+---------+----------╮
425
419
  | Contract | Selector | Calls | Reverts | Discards |
426
420
  +======================================================================================+
427
- | RateLimiterRBACUpgradeableHandler | inflow | 544 | 0 | 0 |
421
+ | RateLimiterRBACUpgradeableHandler | inflow | 541 | 0 | 0 |
428
422
  |-----------------------------------+---------------------+-------+---------+----------|
429
- | RateLimiterRBACUpgradeableHandler | outflow | 527 | 0 | 0 |
423
+ | RateLimiterRBACUpgradeableHandler | outflow | 605 | 0 | 0 |
430
424
  |-----------------------------------+---------------------+-------+---------+----------|
431
- | RateLimiterRBACUpgradeableHandler | setConfig | 586 | 0 | 0 |
425
+ | RateLimiterRBACUpgradeableHandler | setConfig | 522 | 0 | 0 |
432
426
  |-----------------------------------+---------------------+-------+---------+----------|
433
- | RateLimiterRBACUpgradeableHandler | setState | 539 | 0 | 0 |
427
+ | RateLimiterRBACUpgradeableHandler | setState | 543 | 0 | 0 |
434
428
  |-----------------------------------+---------------------+-------+---------+----------|
435
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 544 | 0 | 0 |
429
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 510 | 0 | 0 |
436
430
  |-----------------------------------+---------------------+-------+---------+----------|
437
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 529 | 0 | 0 |
431
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 589 | 0 | 0 |
438
432
  |-----------------------------------+---------------------+-------+---------+----------|
439
- | RateLimiterRBACUpgradeableHandler | warp | 571 | 0 | 0 |
433
+ | RateLimiterRBACUpgradeableHandler | warp | 530 | 0 | 0 |
440
434
  ╰-----------------------------------+---------------------+-------+---------+----------╯
441
435
 
442
436
  Logs:
443
- Bound result 562417256436728490684
444
- Bound result 3
445
- Bound result 1747509149589001734
446
- Bound result 403492399065
447
- Bound result 0
448
- Bound result 523001
449
- Bound result 5818
450
- Bound result 5638
451
- Bound result 0
437
+ Bound result 394
438
+ Bound result 9900000000000000105860
439
+ Bound result 9900000020459633790843
440
+ Bound result 9162
441
+ Bound result 11
442
+ Bound result 591813453729784658184
443
+ Bound result 9900000220285574262147
444
+ Bound result 102
445
+ Bound result 7603
446
+ Bound result 8571
447
+ Bound result 5151353251323166404267
448
+ Bound result 7716
452
449
  Bound result 3
453
- Bound result 15325959122739312889
454
- Bound result 1508357
455
- Bound result 514264337593504336253
456
- Bound result 0
457
- Bound result 1431001806761610251604
458
- Bound result 9900000000000000003932
459
- Bound result 9900000000000000005864
460
- Bound result 9522
461
- Bound result 260
462
- Bound result 15
463
- Bound result 322960284402175559713
450
+ Bound result 61293732915997760
451
+ Bound result 2010
452
+ Bound result 9900000000000000010767
453
+ Bound result 9910283639113465303767
454
+ Bound result 1534
455
+ Bound result 10
456
+ Bound result 1063864286682268
457
+ Bound result 100000000000000000003
458
+ Bound result 9900000000000000002474
459
+ Bound result 323
460
+ Bound result 3449
461
+ Bound result 456463743776
464
462
 
465
463
  [PASS] invariant_ConfigBitmapConsistency() (runs: 256, calls: 3840, reverts: 0)
466
464
 
467
465
  ╭-----------------------------------+---------------------+-------+---------+----------╮
468
466
  | Contract | Selector | Calls | Reverts | Discards |
469
467
  +======================================================================================+
470
- | RateLimiterRBACUpgradeableHandler | inflow | 555 | 0 | 0 |
468
+ | RateLimiterRBACUpgradeableHandler | inflow | 571 | 0 | 0 |
471
469
  |-----------------------------------+---------------------+-------+---------+----------|
472
470
  | RateLimiterRBACUpgradeableHandler | outflow | 560 | 0 | 0 |
473
471
  |-----------------------------------+---------------------+-------+---------+----------|
474
- | RateLimiterRBACUpgradeableHandler | setConfig | 510 | 0 | 0 |
472
+ | RateLimiterRBACUpgradeableHandler | setConfig | 550 | 0 | 0 |
475
473
  |-----------------------------------+---------------------+-------+---------+----------|
476
- | RateLimiterRBACUpgradeableHandler | setState | 581 | 0 | 0 |
474
+ | RateLimiterRBACUpgradeableHandler | setState | 528 | 0 | 0 |
477
475
  |-----------------------------------+---------------------+-------+---------+----------|
478
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 535 | 0 | 0 |
476
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 545 | 0 | 0 |
479
477
  |-----------------------------------+---------------------+-------+---------+----------|
480
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 567 | 0 | 0 |
478
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 553 | 0 | 0 |
481
479
  |-----------------------------------+---------------------+-------+---------+----------|
482
- | RateLimiterRBACUpgradeableHandler | warp | 532 | 0 | 0 |
480
+ | RateLimiterRBACUpgradeableHandler | warp | 533 | 0 | 0 |
483
481
  ╰-----------------------------------+---------------------+-------+---------+----------╯
484
482
 
485
483
  Logs:
486
- Bound result 2
487
- Bound result 5837988
488
- Bound result 993
489
- Bound result 2036718347
490
- Bound result 8717
491
- Bound result 19472566203
492
- Bound result 415
493
- Bound result 23
494
- Bound result 1777488296135387154394
495
- Bound result 1821
496
- Bound result 564
497
- Bound result 10244
498
- Bound result 647
499
- Bound result 1685
484
+ Bound result 4189828018391291377
485
+ Bound result 47394492027268
486
+ Bound result 524592551439328493062
487
+ Bound result 1520076
488
+ Bound result 450592666
489
+ Bound result 1
490
+ Bound result 5855
491
+ Bound result 1425644631
492
+ Bound result 285
493
+ Bound result 1622
494
+ Bound result 2168666954214
495
+ Bound result 8105
496
+ Bound result 780488956411224122440
497
+ Bound result 546
498
+ Bound result 1062319570581567612782
500
499
 
501
500
  [PASS] invariant_ConfigConsistency() (runs: 256, calls: 3840, reverts: 0)
502
501
 
503
502
  ╭-----------------------------------+---------------------+-------+---------+----------╮
504
503
  | Contract | Selector | Calls | Reverts | Discards |
505
504
  +======================================================================================+
506
- | RateLimiterRBACUpgradeableHandler | inflow | 554 | 0 | 0 |
505
+ | RateLimiterRBACUpgradeableHandler | inflow | 545 | 0 | 0 |
507
506
  |-----------------------------------+---------------------+-------+---------+----------|
508
- | RateLimiterRBACUpgradeableHandler | outflow | 534 | 0 | 0 |
507
+ | RateLimiterRBACUpgradeableHandler | outflow | 558 | 0 | 0 |
509
508
  |-----------------------------------+---------------------+-------+---------+----------|
510
- | RateLimiterRBACUpgradeableHandler | setConfig | 559 | 0 | 0 |
509
+ | RateLimiterRBACUpgradeableHandler | setConfig | 527 | 0 | 0 |
511
510
  |-----------------------------------+---------------------+-------+---------+----------|
512
- | RateLimiterRBACUpgradeableHandler | setState | 591 | 0 | 0 |
511
+ | RateLimiterRBACUpgradeableHandler | setState | 561 | 0 | 0 |
513
512
  |-----------------------------------+---------------------+-------+---------+----------|
514
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 553 | 0 | 0 |
513
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 555 | 0 | 0 |
515
514
  |-----------------------------------+---------------------+-------+---------+----------|
516
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 516 | 0 | 0 |
515
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 532 | 0 | 0 |
517
516
  |-----------------------------------+---------------------+-------+---------+----------|
518
- | RateLimiterRBACUpgradeableHandler | warp | 533 | 0 | 0 |
517
+ | RateLimiterRBACUpgradeableHandler | warp | 562 | 0 | 0 |
519
518
  ╰-----------------------------------+---------------------+-------+---------+----------╯
520
519
 
521
520
  Logs:
522
- Bound result 238
521
+ Bound result 8533
522
+ Bound result 10645
523
+ Bound result 0
524
+ Bound result 33540519
525
+ Bound result 5294
523
526
  Bound result 1
524
- Bound result 3093
525
- Bound result 9123
526
- Bound result 118
527
- Bound result 2829
528
- Bound result 1965
529
- Bound result 135
530
- Bound result 35312882
531
- Bound result 7215962476931970819042
532
- Bound result 100000000000000000001
533
- Bound result 1665
534
- Bound result 13
535
- Bound result 1853
536
- Bound result 436521447320
537
- Bound result 219
538
- Bound result 7780
527
+ Bound result 9900000000000000007332
528
+ Bound result 9900000000000000000309
529
+ Bound result 2333
530
+ Bound result 736
531
+ Bound result 6914264337534863096704
532
+ Bound result 2443
533
+ Bound result 0
534
+ Bound result 62
535
+ Bound result 2151543425464
536
+ Bound result 3993
537
+ Bound result 19440448047178731534003
538
+ Bound result 60
539
+ Bound result 2949
540
+ Bound result 8849293358425808738337
541
+ Bound result 9900000000000000000044
542
+ Bound result 459
543
+ Bound result 4712
539
544
 
540
545
  [PASS] invariant_ExemptionConsistency() (runs: 256, calls: 3840, reverts: 0)
541
546
 
542
547
  ╭-----------------------------------+---------------------+-------+---------+----------╮
543
548
  | Contract | Selector | Calls | Reverts | Discards |
544
549
  +======================================================================================+
545
- | RateLimiterRBACUpgradeableHandler | inflow | 560 | 0 | 0 |
550
+ | RateLimiterRBACUpgradeableHandler | inflow | 556 | 0 | 0 |
546
551
  |-----------------------------------+---------------------+-------+---------+----------|
547
- | RateLimiterRBACUpgradeableHandler | outflow | 599 | 0 | 0 |
552
+ | RateLimiterRBACUpgradeableHandler | outflow | 580 | 0 | 0 |
548
553
  |-----------------------------------+---------------------+-------+---------+----------|
549
- | RateLimiterRBACUpgradeableHandler | setConfig | 520 | 0 | 0 |
554
+ | RateLimiterRBACUpgradeableHandler | setConfig | 533 | 0 | 0 |
550
555
  |-----------------------------------+---------------------+-------+---------+----------|
551
- | RateLimiterRBACUpgradeableHandler | setState | 545 | 0 | 0 |
556
+ | RateLimiterRBACUpgradeableHandler | setState | 537 | 0 | 0 |
552
557
  |-----------------------------------+---------------------+-------+---------+----------|
553
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 544 | 0 | 0 |
558
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 576 | 0 | 0 |
554
559
  |-----------------------------------+---------------------+-------+---------+----------|
555
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 542 | 0 | 0 |
560
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 554 | 0 | 0 |
556
561
  |-----------------------------------+---------------------+-------+---------+----------|
557
- | RateLimiterRBACUpgradeableHandler | warp | 530 | 0 | 0 |
562
+ | RateLimiterRBACUpgradeableHandler | warp | 504 | 0 | 0 |
558
563
  ╰-----------------------------------+---------------------+-------+---------+----------╯
559
564
 
560
565
  Logs:
561
- Bound result 514264337593543950333
562
- Bound result 9900000000000000007296
563
- Bound result 9900000000000000005712
564
- Bound result 3120
565
- Bound result 8925
566
- Bound result 9900000018409613425705
567
- Bound result 9900000000000003760949
568
- Bound result 3244
569
- Bound result 8326
570
- Bound result 1719639407
571
- Bound result 137960119379971900224
572
- Bound result 61
573
- Bound result 9151
566
+ Bound result 351
567
+ Bound result 7749
568
+ Bound result 100000000000000000000
569
+ Bound result 9902750911154638769716
570
+ Bound result 7605
571
+ Bound result 12
572
+ Bound result 8
573
+ Bound result 1789
574
+ Bound result 6053
575
+ Bound result 8496
576
+ Bound result 1882
577
+ Bound result 4920
578
+ Bound result 1218028033503548790827
579
+ Bound result 100000000000000000000
580
+ Bound result 9900003634225383659121
581
+ Bound result 9748
582
+ Bound result 10
583
+ Bound result 6613
584
+ Bound result 10177
585
+ Bound result 736
586
+ Bound result 556435973285872267847
574
587
  Bound result 6914264337593535947489
575
- Bound result 100000000000000000003
576
- Bound result 3463
577
- Bound result 13
578
- Bound result 9900000000000000004098
579
- Bound result 9900000000000000009178
580
- Bound result 3257
581
- Bound result 6934
582
- Bound result 878539050821214604862
583
- Bound result 9900000000000000012057
584
- Bound result 5286
585
- Bound result 2499
588
+ Bound result 10
589
+ Bound result 77
590
+ Bound result 479
591
+ Bound result 60
586
592
 
587
593
  [PASS] invariant_GhostConsistency() (runs: 256, calls: 3840, reverts: 0)
588
594
 
589
595
  ╭-----------------------------------+---------------------+-------+---------+----------╮
590
596
  | Contract | Selector | Calls | Reverts | Discards |
591
597
  +======================================================================================+
592
- | RateLimiterRBACUpgradeableHandler | inflow | 550 | 0 | 0 |
598
+ | RateLimiterRBACUpgradeableHandler | inflow | 532 | 0 | 0 |
593
599
  |-----------------------------------+---------------------+-------+---------+----------|
594
- | RateLimiterRBACUpgradeableHandler | outflow | 582 | 0 | 0 |
600
+ | RateLimiterRBACUpgradeableHandler | outflow | 525 | 0 | 0 |
595
601
  |-----------------------------------+---------------------+-------+---------+----------|
596
- | RateLimiterRBACUpgradeableHandler | setConfig | 557 | 0 | 0 |
602
+ | RateLimiterRBACUpgradeableHandler | setConfig | 572 | 0 | 0 |
597
603
  |-----------------------------------+---------------------+-------+---------+----------|
598
- | RateLimiterRBACUpgradeableHandler | setState | 522 | 0 | 0 |
604
+ | RateLimiterRBACUpgradeableHandler | setState | 584 | 0 | 0 |
599
605
  |-----------------------------------+---------------------+-------+---------+----------|
600
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 548 | 0 | 0 |
606
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 541 | 0 | 0 |
601
607
  |-----------------------------------+---------------------+-------+---------+----------|
602
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 536 | 0 | 0 |
608
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 549 | 0 | 0 |
603
609
  |-----------------------------------+---------------------+-------+---------+----------|
604
- | RateLimiterRBACUpgradeableHandler | warp | 545 | 0 | 0 |
610
+ | RateLimiterRBACUpgradeableHandler | warp | 537 | 0 | 0 |
605
611
  ╰-----------------------------------+---------------------+-------+---------+----------╯
606
612
 
607
- Logs:
608
- Bound result 10353
609
- Bound result 8006
610
- Bound result 0
611
- Bound result 100000000000000000003
612
- Bound result 9900665155684867885512
613
- Bound result 5149
614
- Bound result 5426
615
- Bound result 43974889236555442740
616
- Bound result 4222199812989106648569
617
- Bound result 388
618
- Bound result 9900000000000000001163
619
- Bound result 10000000000000000000000
620
- Bound result 7274
621
- Bound result 2073
622
- Bound result 4162
623
- Bound result 10618
624
- Bound result 82563405843581
625
- Bound result 4361696838195353740
626
- Bound result 4010815
627
- Bound result 9900000000000000000468
628
- Bound result 6914264337593535947490
629
- Bound result 163
630
- Bound result 813
613
+ Logs:
614
+ Bound result 15292
615
+ Bound result 9900000000000000004016
616
+ Bound result 9900000000000000004068
617
+ Bound result 7355
618
+ Bound result 3767
619
+ Bound result 5863
620
+ Bound result 2106285482
621
+ Bound result 4279
622
+ Bound result 2435
623
+ Bound result 4560
624
+ Bound result 207
625
+ Bound result 9900000000000000009263
626
+ Bound result 9900000000000000001741
627
+ Bound result 728
628
+ Bound result 4577
629
+ Bound result 248388130754349567903
630
+ Bound result 8121
631
+ Bound result 6849999911050
631
632
 
632
633
  [PASS] invariant_LastUpdatedNotFuture() (runs: 256, calls: 3840, reverts: 0)
633
634
 
634
635
  ╭-----------------------------------+---------------------+-------+---------+----------╮
635
636
  | Contract | Selector | Calls | Reverts | Discards |
636
637
  +======================================================================================+
637
- | RateLimiterRBACUpgradeableHandler | inflow | 523 | 0 | 0 |
638
+ | RateLimiterRBACUpgradeableHandler | inflow | 541 | 0 | 0 |
638
639
  |-----------------------------------+---------------------+-------+---------+----------|
639
- | RateLimiterRBACUpgradeableHandler | outflow | 561 | 0 | 0 |
640
+ | RateLimiterRBACUpgradeableHandler | outflow | 553 | 0 | 0 |
640
641
  |-----------------------------------+---------------------+-------+---------+----------|
641
- | RateLimiterRBACUpgradeableHandler | setConfig | 547 | 0 | 0 |
642
+ | RateLimiterRBACUpgradeableHandler | setConfig | 577 | 0 | 0 |
642
643
  |-----------------------------------+---------------------+-------+---------+----------|
643
- | RateLimiterRBACUpgradeableHandler | setState | 574 | 0 | 0 |
644
+ | RateLimiterRBACUpgradeableHandler | setState | 554 | 0 | 0 |
644
645
  |-----------------------------------+---------------------+-------+---------+----------|
645
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 519 | 0 | 0 |
646
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 549 | 0 | 0 |
646
647
  |-----------------------------------+---------------------+-------+---------+----------|
647
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 565 | 0 | 0 |
648
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 530 | 0 | 0 |
648
649
  |-----------------------------------+---------------------+-------+---------+----------|
649
- | RateLimiterRBACUpgradeableHandler | warp | 551 | 0 | 0 |
650
+ | RateLimiterRBACUpgradeableHandler | warp | 536 | 0 | 0 |
650
651
  ╰-----------------------------------+---------------------+-------+---------+----------╯
651
652
 
652
653
  Logs:
653
- Bound result 1901074598
654
654
  Bound result 1
655
- Bound result 9900000007030027833809
656
- Bound result 9900000000000771255871
657
- Bound result 11
658
- Bound result 7242
659
- Bound result 289212125371176374388
660
- Bound result 12263497294612306003
661
- Bound result 2328
662
- Bound result 901
663
- Bound result 8193
655
+ Bound result 2
656
+ Bound result 514264337593504336253
657
+ Bound result 1
658
+ Bound result 100000000000000000003
659
+ Bound result 100000000000000000001
660
+ Bound result 12
661
+ Bound result 13
662
+ Bound result 4113
663
+ Bound result 3780385
664
+ Bound result 3101375044
664
665
  Bound result 0
665
- Bound result 13026
666
- Bound result 3689055020
667
- Bound result 9113
668
- Bound result 5688
669
- Bound result 7681
670
- Bound result 18110867159828790974867
671
- Bound result 11520394931
672
- Bound result 1117
666
+ Bound result 20
667
+ Bound result 114264337591167105461
668
+ Bound result 3658252959230667437849
669
+ Bound result 9900000000000000007507
670
+ Bound result 9332
671
+ Bound result 8080
672
+ Bound result 493
673
673
 
674
674
  [PASS] invariant_PristineIdUntouched() (runs: 256, calls: 3840, reverts: 0)
675
675
 
676
676
  ╭-----------------------------------+---------------------+-------+---------+----------╮
677
677
  | Contract | Selector | Calls | Reverts | Discards |
678
678
  +======================================================================================+
679
- | RateLimiterRBACUpgradeableHandler | inflow | 550 | 0 | 0 |
679
+ | RateLimiterRBACUpgradeableHandler | inflow | 555 | 0 | 0 |
680
680
  |-----------------------------------+---------------------+-------+---------+----------|
681
- | RateLimiterRBACUpgradeableHandler | outflow | 559 | 0 | 0 |
681
+ | RateLimiterRBACUpgradeableHandler | outflow | 548 | 0 | 0 |
682
682
  |-----------------------------------+---------------------+-------+---------+----------|
683
- | RateLimiterRBACUpgradeableHandler | setConfig | 524 | 0 | 0 |
683
+ | RateLimiterRBACUpgradeableHandler | setConfig | 556 | 0 | 0 |
684
684
  |-----------------------------------+---------------------+-------+---------+----------|
685
- | RateLimiterRBACUpgradeableHandler | setState | 567 | 0 | 0 |
685
+ | RateLimiterRBACUpgradeableHandler | setState | 549 | 0 | 0 |
686
686
  |-----------------------------------+---------------------+-------+---------+----------|
687
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 543 | 0 | 0 |
687
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 555 | 0 | 0 |
688
688
  |-----------------------------------+---------------------+-------+---------+----------|
689
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 530 | 0 | 0 |
689
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 543 | 0 | 0 |
690
690
  |-----------------------------------+---------------------+-------+---------+----------|
691
- | RateLimiterRBACUpgradeableHandler | warp | 567 | 0 | 0 |
691
+ | RateLimiterRBACUpgradeableHandler | warp | 534 | 0 | 0 |
692
692
  ╰-----------------------------------+---------------------+-------+---------+----------╯
693
693
 
694
694
  Logs:
695
- Bound result 9900000000000000000173
696
- Bound result 9900000000000000000292
697
- Bound result 4945
698
- Bound result 6448
699
- Bound result 3305
700
- Bound result 37462
695
+ Bound result 385
696
+ Bound result 381253934824751960775
697
+ Bound result 202411481346736595849
698
+ Bound result 65
699
+ Bound result 1294
700
+ Bound result 510928831465498626491
701
+ Bound result 10162
702
+ Bound result 586317088068
703
+ Bound result 1053
704
+ Bound result 6742
705
+ Bound result 6822
706
+ Bound result 408
707
+ Bound result 811
701
708
  Bound result 1
702
- Bound result 9900000296811831319548
703
- Bound result 9900044247044902675614
704
- Bound result 5213
705
- Bound result 9848
706
- Bound result 3
707
- Bound result 8194
708
- Bound result 10334
709
- Bound result 74486635
710
- Bound result 96
711
- Bound result 0
712
- Bound result 3021
713
- Bound result 1661814751489
714
- Bound result 891
715
- Bound result 2
709
+ Bound result 9900000000000000008524
710
+ Bound result 9900000000000000008274
711
+ Bound result 455
712
+ Bound result 222
713
+ Bound result 70596092963
716
714
 
717
715
  [PASS] invariant_RevertConsistency() (runs: 256, calls: 3840, reverts: 0)
718
716
 
719
717
  ╭-----------------------------------+---------------------+-------+---------+----------╮
720
718
  | Contract | Selector | Calls | Reverts | Discards |
721
719
  +======================================================================================+
722
- | RateLimiterRBACUpgradeableHandler | inflow | 572 | 0 | 0 |
720
+ | RateLimiterRBACUpgradeableHandler | inflow | 569 | 0 | 0 |
723
721
  |-----------------------------------+---------------------+-------+---------+----------|
724
- | RateLimiterRBACUpgradeableHandler | outflow | 520 | 0 | 0 |
722
+ | RateLimiterRBACUpgradeableHandler | outflow | 583 | 0 | 0 |
725
723
  |-----------------------------------+---------------------+-------+---------+----------|
726
- | RateLimiterRBACUpgradeableHandler | setConfig | 547 | 0 | 0 |
724
+ | RateLimiterRBACUpgradeableHandler | setConfig | 529 | 0 | 0 |
727
725
  |-----------------------------------+---------------------+-------+---------+----------|
728
- | RateLimiterRBACUpgradeableHandler | setState | 514 | 0 | 0 |
726
+ | RateLimiterRBACUpgradeableHandler | setState | 564 | 0 | 0 |
729
727
  |-----------------------------------+---------------------+-------+---------+----------|
730
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 547 | 0 | 0 |
728
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 561 | 0 | 0 |
731
729
  |-----------------------------------+---------------------+-------+---------+----------|
732
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 530 | 0 | 0 |
730
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 496 | 0 | 0 |
733
731
  |-----------------------------------+---------------------+-------+---------+----------|
734
- | RateLimiterRBACUpgradeableHandler | warp | 610 | 0 | 0 |
732
+ | RateLimiterRBACUpgradeableHandler | warp | 538 | 0 | 0 |
735
733
  ╰-----------------------------------+---------------------+-------+---------+----------╯
736
734
 
737
735
  Logs:
738
- Bound result 2003
739
- Bound result 5260
736
+ Bound result 6340
737
+ Bound result 9900000000000860608793
738
+ Bound result 9900000000000000002979
739
+ Bound result 2701
740
+ Bound result 2463
741
+ Bound result 1050
742
+ Bound result 8057453769841152176254
743
+ Bound result 9900000000000303916461
744
+ Bound result 12
745
+ Bound result 9996
746
+ Bound result 10837
747
+ Bound result 123044204244
748
+ Bound result 7011614283628061556687
749
+ Bound result 211301860501578066470
750
+ Bound result 430380534
740
751
  Bound result 0
741
- Bound result 1971
742
- Bound result 9900001683717770178909
743
- Bound result 5483586113142377423868
744
- Bound result 6839
745
- Bound result 5962
746
- Bound result 625761767
747
- Bound result 1336
748
- Bound result 1905
749
- Bound result 10384
750
- Bound result 9900000000002719481311
751
- Bound result 9900000000000000000066
752
- Bound result 225
753
- Bound result 357
754
- Bound result 6914242574008847100428
755
- Bound result 12683377261443231943131
756
- Bound result 84
757
- Bound result 1636857237
758
- Bound result 2
759
- Bound result 926162862576
760
- Bound result 1
761
- Bound result 7735
752
+ Bound result 9839551810646309798403
753
+ Bound result 667360731311119448942
754
+ Bound result 0
755
+ Bound result 10948593457064272895574
756
+ Bound result 14839731025799800177453
762
757
 
763
- Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 2.29s (13.93s CPU time)
758
+ Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 1.36s (9.01s CPU time)
764
759
 
765
- Ran 8 tests for test/RateLimiterRBACUpgradeableInvariant.t.sol:RateLimiterRBACUpgradeableInvariantGlobalStateTest
760
+ Ran 10 tests for test/RateLimiterUtils.t.sol:RateLimiterUtilsTest
761
+ [PASS] test_decodeConfigBitmapFlags_AllFalse() (gas: 10012)
762
+ [PASS] test_decodeConfigBitmapFlags_AllTrue() (gas: 10034)
763
+ [PASS] test_decodeConfigBitmapFlags_Mixed() (gas: 9990)
764
+ [PASS] test_decodeOverrideDefaultConfig_False() (gas: 8488)
765
+ [PASS] test_decodeOverrideDefaultConfig_Fuzz(uint24) (runs: 1000, μ: 3388, ~: 3393)
766
+ [PASS] test_decodeOverrideDefaultConfig_True() (gas: 8456)
767
+ [PASS] test_encodeConfigBitmap_AllFalse() (gas: 8957)
768
+ [PASS] test_encodeConfigBitmap_AllTrue() (gas: 8999)
769
+ [PASS] test_encodeConfigBitmap_Mixed() (gas: 8977)
770
+ [PASS] test_encodeDecode_Fuzz(bool,bool,bool,bool,bool) (runs: 1000, μ: 5017, ~: 5017)
771
+ Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 1.42s (104.47ms CPU time)
772
+
773
+ Ran 8 tests for test/RateLimiterRBACUpgradeableInvariant.t.sol:RateLimiterRBACUpgradeableInvariantTest
766
774
  [PASS] invariant_AvailableConsistent() (runs: 256, calls: 3840, reverts: 0)
767
775
 
768
776
  ╭-----------------------------------+---------------------+-------+---------+----------╮
769
777
  | Contract | Selector | Calls | Reverts | Discards |
770
778
  +======================================================================================+
771
- | RateLimiterRBACUpgradeableHandler | inflow | 583 | 0 | 0 |
779
+ | RateLimiterRBACUpgradeableHandler | inflow | 549 | 0 | 0 |
772
780
  |-----------------------------------+---------------------+-------+---------+----------|
773
- | RateLimiterRBACUpgradeableHandler | outflow | 543 | 0 | 0 |
781
+ | RateLimiterRBACUpgradeableHandler | outflow | 536 | 0 | 0 |
774
782
  |-----------------------------------+---------------------+-------+---------+----------|
775
- | RateLimiterRBACUpgradeableHandler | setConfig | 542 | 0 | 0 |
783
+ | RateLimiterRBACUpgradeableHandler | setConfig | 554 | 0 | 0 |
776
784
  |-----------------------------------+---------------------+-------+---------+----------|
777
- | RateLimiterRBACUpgradeableHandler | setState | 555 | 0 | 0 |
785
+ | RateLimiterRBACUpgradeableHandler | setState | 535 | 0 | 0 |
778
786
  |-----------------------------------+---------------------+-------+---------+----------|
779
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 556 | 0 | 0 |
787
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 559 | 0 | 0 |
780
788
  |-----------------------------------+---------------------+-------+---------+----------|
781
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 531 | 0 | 0 |
789
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 554 | 0 | 0 |
782
790
  |-----------------------------------+---------------------+-------+---------+----------|
783
- | RateLimiterRBACUpgradeableHandler | warp | 530 | 0 | 0 |
791
+ | RateLimiterRBACUpgradeableHandler | warp | 553 | 0 | 0 |
784
792
  ╰-----------------------------------+---------------------+-------+---------+----------╯
785
793
 
786
794
  Logs:
787
- Bound result 783
788
- Bound result 195
789
- Bound result 203
795
+ Bound result 913452357
796
+ Bound result 6493257683296100855005
797
+ Bound result 9900000000000000001900
798
+ Bound result 2201
799
+ Bound result 4785
800
+ Bound result 2538945723306770908268
801
+ Bound result 6546453859637986411447
790
802
  Bound result 0
791
- Bound result 1994644501767398662071
792
- Bound result 3
793
- Bound result 673457221373671040657
794
- Bound result 9900000000000443667070
795
- Bound result 13
796
- Bound result 1100
797
- Bound result 17988966586564557984889
798
- Bound result 12254506644172159810
799
- Bound result 2951
800
- Bound result 2
801
- Bound result 2003
803
+ Bound result 7488678688646381762086
804
+ Bound result 569
805
+ Bound result 9900000000000000006449
806
+ Bound result 9900000000000000000923
807
+ Bound result 8338
808
+ Bound result 1656
809
+ Bound result 16472
810
+ Bound result 4125
811
+ Bound result 6529
812
+ Bound result 136
813
+ Bound result 28142141643096
814
+ Bound result 5187
815
+ Bound result 3914
816
+ Bound result 408
817
+ Bound result 951245578332867964
818
+ Bound result 5185447928492872502362
819
+ Bound result 1102
820
+ Bound result 566480742064359026
802
821
 
803
822
  [PASS] invariant_ConfigBitmapConsistency() (runs: 256, calls: 3840, reverts: 0)
804
823
 
805
824
  ╭-----------------------------------+---------------------+-------+---------+----------╮
806
825
  | Contract | Selector | Calls | Reverts | Discards |
807
826
  +======================================================================================+
808
- | RateLimiterRBACUpgradeableHandler | inflow | 562 | 0 | 0 |
827
+ | RateLimiterRBACUpgradeableHandler | inflow | 548 | 0 | 0 |
809
828
  |-----------------------------------+---------------------+-------+---------+----------|
810
- | RateLimiterRBACUpgradeableHandler | outflow | 569 | 0 | 0 |
829
+ | RateLimiterRBACUpgradeableHandler | outflow | 547 | 0 | 0 |
811
830
  |-----------------------------------+---------------------+-------+---------+----------|
812
- | RateLimiterRBACUpgradeableHandler | setConfig | 484 | 0 | 0 |
831
+ | RateLimiterRBACUpgradeableHandler | setConfig | 545 | 0 | 0 |
813
832
  |-----------------------------------+---------------------+-------+---------+----------|
814
- | RateLimiterRBACUpgradeableHandler | setState | 559 | 0 | 0 |
833
+ | RateLimiterRBACUpgradeableHandler | setState | 568 | 0 | 0 |
815
834
  |-----------------------------------+---------------------+-------+---------+----------|
816
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 565 | 0 | 0 |
835
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 560 | 0 | 0 |
817
836
  |-----------------------------------+---------------------+-------+---------+----------|
818
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 556 | 0 | 0 |
837
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 544 | 0 | 0 |
819
838
  |-----------------------------------+---------------------+-------+---------+----------|
820
- | RateLimiterRBACUpgradeableHandler | warp | 545 | 0 | 0 |
839
+ | RateLimiterRBACUpgradeableHandler | warp | 528 | 0 | 0 |
821
840
  ╰-----------------------------------+---------------------+-------+---------+----------╯
822
841
 
823
842
  Logs:
824
- Bound result 1425644632
825
- Bound result 9900000000000000001561
826
- Bound result 9900000000000000002556
827
- Bound result 639
828
- Bound result 3958
829
- Bound result 226
830
- Bound result 270
831
- Bound result 9900000000002107269098
832
- Bound result 9900000000000000000308
833
- Bound result 5114
834
- Bound result 7533
843
+ Bound result 1007245886733921236859
844
+ Bound result 9900000000000000004228
845
+ Bound result 5083937887562345968613
846
+ Bound result 6394
847
+ Bound result 2079
848
+ Bound result 308
849
+ Bound result 5484763113
850
+ Bound result 5986418584854
835
851
  Bound result 1
836
- Bound result 1918268964956616974
837
- Bound result 0
838
- Bound result 7
839
- Bound result 428793910
840
- Bound result 39
841
- Bound result 5180
842
- Bound result 809
843
- Bound result 767887698455
844
- Bound result 10425
845
- Bound result 4670
846
- Bound result 262
847
- Bound result 25355
852
+ Bound result 516
853
+ Bound result 9900000000000000000210
854
+ Bound result 9900000000000000006775
855
+ Bound result 7821
856
+ Bound result 3997
857
+ Bound result 45603235181734825
858
+ Bound result 38724799385397
859
+ Bound result 1
860
+ Bound result 56
861
+ Bound result 1
862
+ Bound result 9179049022188880425149
863
+ Bound result 6391695213217127289347
864
+ Bound result 7360
865
+ Bound result 6214
848
866
 
849
867
  [PASS] invariant_ConfigConsistency() (runs: 256, calls: 3840, reverts: 0)
850
868
 
851
869
  ╭-----------------------------------+---------------------+-------+---------+----------╮
852
870
  | Contract | Selector | Calls | Reverts | Discards |
853
871
  +======================================================================================+
854
- | RateLimiterRBACUpgradeableHandler | inflow | 545 | 0 | 0 |
872
+ | RateLimiterRBACUpgradeableHandler | inflow | 571 | 0 | 0 |
855
873
  |-----------------------------------+---------------------+-------+---------+----------|
856
- | RateLimiterRBACUpgradeableHandler | outflow | 534 | 0 | 0 |
874
+ | RateLimiterRBACUpgradeableHandler | outflow | 508 | 0 | 0 |
857
875
  |-----------------------------------+---------------------+-------+---------+----------|
858
- | RateLimiterRBACUpgradeableHandler | setConfig | 518 | 0 | 0 |
876
+ | RateLimiterRBACUpgradeableHandler | setConfig | 536 | 0 | 0 |
859
877
  |-----------------------------------+---------------------+-------+---------+----------|
860
- | RateLimiterRBACUpgradeableHandler | setState | 544 | 0 | 0 |
878
+ | RateLimiterRBACUpgradeableHandler | setState | 503 | 0 | 0 |
861
879
  |-----------------------------------+---------------------+-------+---------+----------|
862
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 518 | 0 | 0 |
880
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 576 | 0 | 0 |
863
881
  |-----------------------------------+---------------------+-------+---------+----------|
864
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 589 | 0 | 0 |
882
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 597 | 0 | 0 |
865
883
  |-----------------------------------+---------------------+-------+---------+----------|
866
- | RateLimiterRBACUpgradeableHandler | warp | 592 | 0 | 0 |
884
+ | RateLimiterRBACUpgradeableHandler | warp | 549 | 0 | 0 |
867
885
  ╰-----------------------------------+---------------------+-------+---------+----------╯
868
886
 
869
887
  Logs:
870
- Bound result 1982
871
- Bound result 9900000000000113079115
872
- Bound result 9900000000252016789936
873
- Bound result 2552
874
- Bound result 4887
875
- Bound result 19755399358918588214978
876
- Bound result 144
877
- Bound result 6101
878
- Bound result 9900000000000000010360
879
- Bound result 9900000000000000007778
880
- Bound result 8272
881
- Bound result 415
882
- Bound result 1
883
- Bound result 6
884
- Bound result 9900000000000000000518
885
- Bound result 9900000000000000007777
888
+ Bound result 100000000000000000002
889
+ Bound result 9900034332724180812296
890
+ Bound result 9995
891
+ Bound result 4598
892
+ Bound result 2370
893
+ Bound result 9903058954115124978751
894
+ Bound result 7457036841350673799664
886
895
  Bound result 10
887
- Bound result 8041
888
- Bound result 855
889
- Bound result 9697
890
- Bound result 9408
891
- Bound result 2195
896
+ Bound result 6683
897
+ Bound result 1
898
+ Bound result 9900000000000000002175
899
+ Bound result 9900000000000000005594
900
+ Bound result 170
901
+ Bound result 8395
902
+ Bound result 2427
903
+ Bound result 4089
904
+ Bound result 206
905
+ Bound result 4623
906
+ Bound result 276
907
+ Bound result 1359
908
+ Bound result 11901723978931880151758
909
+ Bound result 14406004514245552456
910
+ Bound result 510
892
911
 
893
912
  [PASS] invariant_ExemptionConsistency() (runs: 256, calls: 3840, reverts: 0)
894
913
 
895
914
  ╭-----------------------------------+---------------------+-------+---------+----------╮
896
915
  | Contract | Selector | Calls | Reverts | Discards |
897
916
  +======================================================================================+
898
- | RateLimiterRBACUpgradeableHandler | inflow | 544 | 0 | 0 |
917
+ | RateLimiterRBACUpgradeableHandler | inflow | 538 | 0 | 0 |
899
918
  |-----------------------------------+---------------------+-------+---------+----------|
900
- | RateLimiterRBACUpgradeableHandler | outflow | 527 | 0 | 0 |
919
+ | RateLimiterRBACUpgradeableHandler | outflow | 533 | 0 | 0 |
901
920
  |-----------------------------------+---------------------+-------+---------+----------|
902
- | RateLimiterRBACUpgradeableHandler | setConfig | 547 | 0 | 0 |
921
+ | RateLimiterRBACUpgradeableHandler | setConfig | 506 | 0 | 0 |
903
922
  |-----------------------------------+---------------------+-------+---------+----------|
904
- | RateLimiterRBACUpgradeableHandler | setState | 572 | 0 | 0 |
923
+ | RateLimiterRBACUpgradeableHandler | setState | 590 | 0 | 0 |
905
924
  |-----------------------------------+---------------------+-------+---------+----------|
906
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 557 | 0 | 0 |
925
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 546 | 0 | 0 |
907
926
  |-----------------------------------+---------------------+-------+---------+----------|
908
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 543 | 0 | 0 |
927
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 607 | 0 | 0 |
909
928
  |-----------------------------------+---------------------+-------+---------+----------|
910
- | RateLimiterRBACUpgradeableHandler | warp | 550 | 0 | 0 |
929
+ | RateLimiterRBACUpgradeableHandler | warp | 520 | 0 | 0 |
911
930
  ╰-----------------------------------+---------------------+-------+---------+----------╯
912
931
 
913
932
  Logs:
914
- Bound result 241144642395531809
915
- Bound result 37486
916
- Bound result 9900000000000000009115
917
- Bound result 9900000000000000001526
918
- Bound result 7748
919
- Bound result 5640
920
- Bound result 46196183689457459
921
- Bound result 1650
922
- Bound result 6914264337520598027275
923
- Bound result 47565210
924
- Bound result 356
933
+ Bound result 62439116953074
934
+ Bound result 208602550118323724314
935
+ Bound result 0
936
+ Bound result 1968062954730607005301
937
+ Bound result 2156287993793019401
925
938
  Bound result 0
939
+ Bound result 528
940
+ Bound result 28261422381000768
941
+ Bound result 28
942
+ Bound result 8478
943
+ Bound result 3412
944
+ Bound result 206
945
+ Bound result 8551
946
+ Bound result 9900000000000000000010
926
947
  Bound result 6914264337593535947490
927
- Bound result 9901654476905711499976
928
- Bound result 1323
929
- Bound result 1628
930
- Bound result 858
931
- Bound result 9900000000000000000012
932
- Bound result 9900000000000444194506
933
- Bound result 9884
934
- Bound result 7011
935
- Bound result 2828310427307851488153
948
+ Bound result 156
949
+ Bound result 10
950
+ Bound result 253
951
+ Bound result 9900000000000015786030
952
+ Bound result 100000000000000000000
953
+ Bound result 11
954
+ Bound result 13
955
+ Bound result 5
956
+ Bound result 57
957
+ Bound result 9
958
+ Bound result 6866
959
+ Bound result 64
960
+ Bound result 96205216181
961
+ Bound result 5
962
+ Bound result 13128059007170
963
+ Bound result 914928294
964
+ Bound result 11
936
965
 
937
966
  [PASS] invariant_GhostConsistency() (runs: 256, calls: 3840, reverts: 0)
938
967
 
939
968
  ╭-----------------------------------+---------------------+-------+---------+----------╮
940
969
  | Contract | Selector | Calls | Reverts | Discards |
941
970
  +======================================================================================+
942
- | RateLimiterRBACUpgradeableHandler | inflow | 549 | 0 | 0 |
971
+ | RateLimiterRBACUpgradeableHandler | inflow | 537 | 0 | 0 |
943
972
  |-----------------------------------+---------------------+-------+---------+----------|
944
- | RateLimiterRBACUpgradeableHandler | outflow | 535 | 0 | 0 |
973
+ | RateLimiterRBACUpgradeableHandler | outflow | 536 | 0 | 0 |
945
974
  |-----------------------------------+---------------------+-------+---------+----------|
946
- | RateLimiterRBACUpgradeableHandler | setConfig | 568 | 0 | 0 |
975
+ | RateLimiterRBACUpgradeableHandler | setConfig | 533 | 0 | 0 |
947
976
  |-----------------------------------+---------------------+-------+---------+----------|
948
- | RateLimiterRBACUpgradeableHandler | setState | 526 | 0 | 0 |
977
+ | RateLimiterRBACUpgradeableHandler | setState | 528 | 0 | 0 |
949
978
  |-----------------------------------+---------------------+-------+---------+----------|
950
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 577 | 0 | 0 |
979
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 600 | 0 | 0 |
951
980
  |-----------------------------------+---------------------+-------+---------+----------|
952
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 581 | 0 | 0 |
981
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 537 | 0 | 0 |
953
982
  |-----------------------------------+---------------------+-------+---------+----------|
954
- | RateLimiterRBACUpgradeableHandler | warp | 504 | 0 | 0 |
983
+ | RateLimiterRBACUpgradeableHandler | warp | 569 | 0 | 0 |
955
984
  ╰-----------------------------------+---------------------+-------+---------+----------╯
956
985
 
957
986
  Logs:
958
- Bound result 3016663574
959
- Bound result 6868
960
- Bound result 2386
961
- Bound result 0
962
- Bound result 1439
963
- Bound result 1470
964
- Bound result 9900000000000000001118
965
- Bound result 9900000000000000005520
966
- Bound result 9212
967
- Bound result 1084
968
- Bound result 7128908485049496027700
969
- Bound result 9900000000000800627396
970
- Bound result 8246
971
- Bound result 1763
972
- Bound result 1807
973
- Bound result 355842498
987
+ Bound result 151426663
988
+ Bound result 544428469867
989
+ Bound result 8677
990
+ Bound result 4729
991
+ Bound result 1
992
+ Bound result 9900000000000193830430
993
+ Bound result 9900000000001285328099
994
+ Bound result 9937
995
+ Bound result 4604
996
+ Bound result 458
997
+ Bound result 9900000001676812001737
998
+ Bound result 9900000000000974432457
999
+ Bound result 12
1000
+ Bound result 5520
974
1001
  Bound result 100000000000000000003
975
- Bound result 5361296984933132523389
976
- Bound result 6932
1002
+ Bound result 9900000063690226264031
977
1003
  Bound result 6241
978
- Bound result 9007
979
- Bound result 67336
980
- Bound result 770495236
981
- Bound result 362
1004
+ Bound result 11
1005
+ Bound result 6773
1006
+ Bound result 2480
1007
+ Bound result 0
1008
+ Bound result 2
1009
+ Bound result 14391212402129013107823
1010
+ Bound result 3
982
1011
 
983
1012
  [PASS] invariant_LastUpdatedNotFuture() (runs: 256, calls: 3840, reverts: 0)
984
1013
 
985
1014
  ╭-----------------------------------+---------------------+-------+---------+----------╮
986
1015
  | Contract | Selector | Calls | Reverts | Discards |
987
1016
  +======================================================================================+
988
- | RateLimiterRBACUpgradeableHandler | inflow | 578 | 0 | 0 |
1017
+ | RateLimiterRBACUpgradeableHandler | inflow | 569 | 0 | 0 |
989
1018
  |-----------------------------------+---------------------+-------+---------+----------|
990
- | RateLimiterRBACUpgradeableHandler | outflow | 551 | 0 | 0 |
1019
+ | RateLimiterRBACUpgradeableHandler | outflow | 542 | 0 | 0 |
991
1020
  |-----------------------------------+---------------------+-------+---------+----------|
992
- | RateLimiterRBACUpgradeableHandler | setConfig | 554 | 0 | 0 |
1021
+ | RateLimiterRBACUpgradeableHandler | setConfig | 551 | 0 | 0 |
993
1022
  |-----------------------------------+---------------------+-------+---------+----------|
994
- | RateLimiterRBACUpgradeableHandler | setState | 515 | 0 | 0 |
1023
+ | RateLimiterRBACUpgradeableHandler | setState | 566 | 0 | 0 |
995
1024
  |-----------------------------------+---------------------+-------+---------+----------|
996
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 542 | 0 | 0 |
1025
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 513 | 0 | 0 |
997
1026
  |-----------------------------------+---------------------+-------+---------+----------|
998
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 547 | 0 | 0 |
1027
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 536 | 0 | 0 |
999
1028
  |-----------------------------------+---------------------+-------+---------+----------|
1000
- | RateLimiterRBACUpgradeableHandler | warp | 553 | 0 | 0 |
1029
+ | RateLimiterRBACUpgradeableHandler | warp | 563 | 0 | 0 |
1001
1030
  ╰-----------------------------------+---------------------+-------+---------+----------╯
1002
1031
 
1003
1032
  Logs:
1004
- Bound result 9900000000000000010623
1005
- Bound result 9900223461546599293263
1006
- Bound result 6240
1007
- Bound result 6606
1008
- Bound result 9900000000000000005610
1009
- Bound result 9900000000000000006770
1010
- Bound result 363
1011
- Bound result 2073
1012
- Bound result 50
1013
- Bound result 8039
1014
- Bound result 811
1015
- Bound result 6914264337548643994071
1016
- Bound result 7307508424089329185134
1033
+ Bound result 9900000000000000010001
1034
+ Bound result 9900000000000000006948
1035
+ Bound result 1493
1036
+ Bound result 8163
1037
+ Bound result 9436
1038
+ Bound result 2861
1039
+ Bound result 0
1040
+ Bound result 6914264337513503506069
1041
+ Bound result 1461499681722
1017
1042
  Bound result 1
1018
- Bound result 404940470923219243964
1019
- Bound result 5948
1020
- Bound result 100000000000000000001
1021
- Bound result 9900000000004091302216
1022
- Bound result 5511
1023
- Bound result 6242
1024
- Bound result 4087
1025
- Bound result 113
1043
+ Bound result 4985
1044
+ Bound result 1000000000000000000000
1045
+ Bound result 1324
1046
+ Bound result 1734
1047
+ Bound result 9900000000000000008107
1048
+ Bound result 9900000000000000007742
1049
+ Bound result 8611
1050
+ Bound result 1853
1051
+ Bound result 878
1052
+ Bound result 8040
1053
+ Bound result 876
1054
+ Bound result 970
1055
+ Bound result 15330315726875253390422
1056
+ Bound result 1577214504
1057
+ Bound result 26
1058
+ Bound result 6012576
1026
1059
 
1027
1060
  [PASS] invariant_PristineIdUntouched() (runs: 256, calls: 3840, reverts: 0)
1028
1061
 
1029
1062
  ╭-----------------------------------+---------------------+-------+---------+----------╮
1030
1063
  | Contract | Selector | Calls | Reverts | Discards |
1031
1064
  +======================================================================================+
1032
- | RateLimiterRBACUpgradeableHandler | inflow | 559 | 0 | 0 |
1065
+ | RateLimiterRBACUpgradeableHandler | inflow | 545 | 0 | 0 |
1033
1066
  |-----------------------------------+---------------------+-------+---------+----------|
1034
- | RateLimiterRBACUpgradeableHandler | outflow | 547 | 0 | 0 |
1067
+ | RateLimiterRBACUpgradeableHandler | outflow | 527 | 0 | 0 |
1035
1068
  |-----------------------------------+---------------------+-------+---------+----------|
1036
- | RateLimiterRBACUpgradeableHandler | setConfig | 546 | 0 | 0 |
1069
+ | RateLimiterRBACUpgradeableHandler | setConfig | 549 | 0 | 0 |
1037
1070
  |-----------------------------------+---------------------+-------+---------+----------|
1038
- | RateLimiterRBACUpgradeableHandler | setState | 539 | 0 | 0 |
1071
+ | RateLimiterRBACUpgradeableHandler | setState | 524 | 0 | 0 |
1039
1072
  |-----------------------------------+---------------------+-------+---------+----------|
1040
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 538 | 0 | 0 |
1073
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 564 | 0 | 0 |
1041
1074
  |-----------------------------------+---------------------+-------+---------+----------|
1042
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 548 | 0 | 0 |
1075
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 544 | 0 | 0 |
1043
1076
  |-----------------------------------+---------------------+-------+---------+----------|
1044
- | RateLimiterRBACUpgradeableHandler | warp | 563 | 0 | 0 |
1077
+ | RateLimiterRBACUpgradeableHandler | warp | 587 | 0 | 0 |
1045
1078
  ╰-----------------------------------+---------------------+-------+---------+----------╯
1046
1079
 
1047
1080
  Logs:
1048
- Bound result 156355900
1049
- Bound result 99613255106487290653
1050
- Bound result 0
1051
- Bound result 97328
1052
- Bound result 1762974233847594
1053
- Bound result 140896971871695424881
1054
- Bound result 1
1055
- Bound result 100000000000000000002
1056
- Bound result 9900610048624866734695
1057
- Bound result 8994
1058
- Bound result 2189
1059
- Bound result 100000000000000000003
1060
- Bound result 100000000000000000000
1061
- Bound result 1505
1062
- Bound result 27
1063
- Bound result 1983
1064
- Bound result 1717
1065
- Bound result 0
1066
- Bound result 10877
1067
- Bound result 2020
1068
- Bound result 1
1069
- Bound result 23721711
1070
- Bound result 333325805842039
1071
- Bound result 0
1072
- Bound result 1230
1073
- Bound result 5210768383685803879
1074
- Bound result 8293
1075
- Bound result 100610048624866734646
1076
- Bound result 926
1077
- Bound result 5476
1078
- Bound result 114264337590770964650
1079
- Bound result 2665555
1080
- Bound result 1
1081
+ Bound result 6812
1082
+ Bound result 24
1083
+ Bound result 1127
1084
+ Bound result 5350
1085
+ Bound result 57573617408
1086
+ Bound result 556
1087
+ Bound result 54060530149852759671
1088
+ Bound result 8019
1089
+ Bound result 799
1090
+ Bound result 9900000000005407462424
1091
+ Bound result 8862632964653491408180
1092
+ Bound result 6239
1093
+ Bound result 16
1094
+ Bound result 8425
1095
+ Bound result 6328418789405371812859
1096
+ Bound result 9908533550220498744927
1097
+ Bound result 2360
1098
+ Bound result 2158
1099
+ Bound result 2949
1081
1100
 
1082
1101
  [PASS] invariant_RevertConsistency() (runs: 256, calls: 3840, reverts: 0)
1083
1102
 
1084
1103
  ╭-----------------------------------+---------------------+-------+---------+----------╮
1085
1104
  | Contract | Selector | Calls | Reverts | Discards |
1086
1105
  +======================================================================================+
1087
- | RateLimiterRBACUpgradeableHandler | inflow | 546 | 0 | 0 |
1106
+ | RateLimiterRBACUpgradeableHandler | inflow | 568 | 0 | 0 |
1088
1107
  |-----------------------------------+---------------------+-------+---------+----------|
1089
- | RateLimiterRBACUpgradeableHandler | outflow | 558 | 0 | 0 |
1108
+ | RateLimiterRBACUpgradeableHandler | outflow | 552 | 0 | 0 |
1090
1109
  |-----------------------------------+---------------------+-------+---------+----------|
1091
- | RateLimiterRBACUpgradeableHandler | setConfig | 540 | 0 | 0 |
1110
+ | RateLimiterRBACUpgradeableHandler | setConfig | 548 | 0 | 0 |
1092
1111
  |-----------------------------------+---------------------+-------+---------+----------|
1093
- | RateLimiterRBACUpgradeableHandler | setState | 548 | 0 | 0 |
1112
+ | RateLimiterRBACUpgradeableHandler | setState | 553 | 0 | 0 |
1094
1113
  |-----------------------------------+---------------------+-------+---------+----------|
1095
- | RateLimiterRBACUpgradeableHandler | toggleExemption | 538 | 0 | 0 |
1114
+ | RateLimiterRBACUpgradeableHandler | toggleExemption | 534 | 0 | 0 |
1096
1115
  |-----------------------------------+---------------------+-------+---------+----------|
1097
- | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 554 | 0 | 0 |
1116
+ | RateLimiterRBACUpgradeableHandler | toggleGlobalDisable | 522 | 0 | 0 |
1098
1117
  |-----------------------------------+---------------------+-------+---------+----------|
1099
- | RateLimiterRBACUpgradeableHandler | warp | 556 | 0 | 0 |
1118
+ | RateLimiterRBACUpgradeableHandler | warp | 563 | 0 | 0 |
1100
1119
  ╰-----------------------------------+---------------------+-------+---------+----------╯
1101
1120
 
1102
1121
  Logs:
1103
- Bound result 9900000000000000003086
1104
- Bound result 9900000000000000001004
1105
- Bound result 8967
1106
- Bound result 575
1107
- Bound result 126386159695935
1108
- Bound result 275
1109
- Bound result 7957927024938
1110
- Bound result 6741419
1111
- Bound result 439440033
1122
+ Bound result 1132927192622260117763
1123
+ Bound result 9900000000000000008458
1124
+ Bound result 9900000000000000004163
1125
+ Bound result 6932
1126
+ Bound result 9600
1127
+ Bound result 3805
1128
+ Bound result 532
1129
+ Bound result 1
1130
+ Bound result 1266
1131
+ Bound result 9488
1132
+ Bound result 1
1133
+ Bound result 11650442
1134
+ Bound result 3351601249050388404152
1135
+ Bound result 1004340946196
1112
1136
  Bound result 0
1113
- Bound result 5267
1114
- Bound result 7208
1115
- Bound result 13540960380
1116
- Bound result 6091
1117
- Bound result 4017
1137
+ Bound result 82
1138
+ Bound result 519573192280434657065
1139
+ Bound result 3
1140
+ Bound result 1
1141
+ Bound result 19642052500818990864537
1142
+ Bound result 9164068459275544705
1143
+ Bound result 1
1144
+ Bound result 9900000000000000001593
1145
+ Bound result 9900000000000000010221
1146
+ Bound result 7402
1147
+ Bound result 13
1148
+ Bound result 1234
1149
+ Bound result 275
1150
+ Bound result 924
1151
+ Bound result 1
1118
1152
 
1119
- Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 2.73s (14.07s CPU time)
1153
+ Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 1.42s (8.48s CPU time)
1120
1154
 
1121
- Ran 27 tests for test/PauseRBACUpgradeable.t.sol:PauseRBACUpgradeableTest
1122
- [PASS] test_assertNotPaused_Fuzz(bool) (runs: 1000, μ: 27051, ~: 41090)
1123
- [PASS] test_assertNotPaused_Revert_Paused() (gas: 40859)
1124
- [PASS] test_assertNotPaused_Success() (gas: 12539)
1125
- [PASS] test_initialize_Revert_AlreadyInitialized() (gas: 15965)
1126
- [PASS] test_initialize_Revert_AlreadyInitialized_AdminUnchanged() (gas: 49417)
1127
- [PASS] test_isPaused_InitialState() (gas: 15629)
1128
- [PASS] test_modifierEnforcement_WithRoles() (gas: 218598)
1129
- [PASS] test_multipleRoleGrants() (gas: 394130)
1130
- [PASS] test_pause() (gas: 42109)
1131
- [PASS] test_renounceRole_Success_FunctionsRevert() (gas: 36029)
1132
- [PASS] test_roleTransfer_GrantAndRevoke() (gas: 180125)
1133
- [PASS] test_setPaused_Fuzz(bool) (runs: 1000, μ: 30543, ~: 18756)
1134
- [PASS] test_setPaused_Idempotent_InitialState_Reverts() (gas: 20507)
1135
- [PASS] test_setPaused_Idempotent_Reverts() (gas: 41497)
1136
- [PASS] test_setPaused_Revert_Unauthorized() (gas: 20279)
1137
- [PASS] test_setPaused_Success() (gas: 40691)
1138
- [PASS] test_setPaused_Success_MultipleOperations() (gas: 58020)
1139
- [PASS] test_setPaused_Success_ToggleMultipleTimes() (gas: 79509)
1155
+ Ran 19 tests for test/PauseBaseUpgradeable.t.sol:PauseBaseUpgradeableTest
1156
+ [PASS] test_assertNotPaused_Fuzz(bool) (runs: 1000, μ: 25725, ~: 38584)
1157
+ [PASS] test_assertNotPaused_Revert_Paused() (gas: 38375)
1158
+ [PASS] test_assertNotPaused_Success() (gas: 12516)
1159
+ [PASS] test_initialize_Revert_AlreadyInitialized() (gas: 15725)
1160
+ [PASS] test_isPaused_InitialState() (gas: 15595)
1161
+ [PASS] test_pause() (gas: 39592)
1162
+ [PASS] test_setPaused_Fuzz(bool) (runs: 1000, μ: 27803, ~: 16219)
1163
+ [PASS] test_setPaused_Idempotent_InitialState_Reverts() (gas: 17914)
1164
+ [PASS] test_setPaused_Idempotent_Reverts() (gas: 38543)
1165
+ [PASS] test_setPaused_Success_ToggleMultipleTimes() (gas: 74144)
1140
1166
  [PASS] test_storageHash() (gas: 3414)
1141
- [PASS] test_unpause() (gas: 35177)
1142
- [PASS] test_whenNotPaused_Fuzz(bool) (runs: 1000, μ: 41618, ~: 38860)
1143
- [PASS] test_whenNotPaused_Revert_Paused() (gas: 44372)
1144
- [PASS] test_whenNotPaused_Revert_WithReturnValue() (gas: 40903)
1145
- [PASS] test_whenNotPaused_Success() (gas: 38800)
1146
- [PASS] test_whenNotPaused_Success_AfterUnpause() (gas: 52332)
1147
- [PASS] test_whenNotPaused_Success_MultipleCalls() (gas: 61669)
1148
- [PASS] test_whenNotPaused_WithReturnValue() (gas: 15658)
1149
- Suite result: ok. 27 passed; 0 failed; 0 skipped; finished in 16.76s (290.40ms CPU time)
1150
-
1151
- Ran 33 tests for test/AccessControl2StepUpgradeable.t.sol:AccessControl2StepUpgradeableTest
1152
- [PASS] test_acceptDefaultAdminTransfer_Events() (gas: 97372)
1153
- [PASS] test_acceptDefaultAdminTransfer_Fuzz(address) (runs: 1000, μ: 104264, ~: 104248)
1154
- [PASS] test_acceptDefaultAdminTransfer_Revert_AfterCancel() (gas: 33248)
1155
- [PASS] test_acceptDefaultAdminTransfer_Revert_NoPendingTransfer() (gas: 18543)
1156
- [PASS] test_acceptDefaultAdminTransfer_Revert_NotPendingAdmin() (gas: 45828)
1157
- [PASS] test_acceptDefaultAdminTransfer_Revert_StalePendingAfterOverwrite() (gas: 103114)
1158
- [PASS] test_acceptDefaultAdminTransfer_Success() (gas: 103488)
1159
- [PASS] test_beginDefaultAdminTransfer_Fuzz(address) (runs: 1000, μ: 46827, ~: 46847)
1160
- [PASS] test_beginDefaultAdminTransfer_Revert_Unauthorized() (gas: 23351)
1161
- [PASS] test_beginDefaultAdminTransfer_Success() (gas: 50886)
1162
- [PASS] test_beginDefaultAdminTransfer_Success_CancelsBySettingZero() (gas: 35608)
1163
- [PASS] test_beginDefaultAdminTransfer_Success_OverwritesPending() (gas: 50268)
1164
- [PASS] test_defaultAdmin_ReturnsInitialAdmin() (gas: 17748)
1165
- [PASS] test_grantRole_Revert_DefaultAdminRole() (gas: 22754)
1166
- [PASS] test_grantRole_Success_NonAdminRole() (gas: 116081)
1167
- [PASS] test_initialize_Revert_AlreadyInitialized() (gas: 15933)
1168
- [PASS] test_initialize_Revert_InvalidDefaultAdmin() (gas: 863678)
1169
- [PASS] test_initialize_Success_AdminHasRole() (gas: 32722)
1170
- [PASS] test_integration_TransferAndTransferAgain() (gas: 234392)
1171
- [PASS] test_integration_TransferCancelRetransfer() (gas: 120851)
1172
- [PASS] test_pendingDefaultAdmin_InitiallyZero() (gas: 15672)
1173
- [PASS] test_renounceRole_Revert_DefaultAdminRole() (gas: 18191)
1174
- [PASS] test_renounceRole_Revert_DefaultAdminRoleDuringPendingTransfer() (gas: 47370)
1175
- [PASS] test_renounceRole_Success_NonAdminRole_Admin() (gas: 93290)
1176
- [PASS] test_renounceRole_Success_NonAdminRole_NonAdmin() (gas: 94023)
1177
- [PASS] test_revokeRole_Revert_DefaultAdminRole_Admin() (gas: 22885)
1178
- [PASS] test_revokeRole_Revert_DefaultAdminRole_NonAdmin() (gas: 25784)
1179
- [PASS] test_revokeRole_Revert_NonAdminRole_NonAdmin() (gas: 124079)
1180
- [PASS] test_revokeRole_Success_NonAdminRole_Admin() (gas: 95654)
1181
- [PASS] test_setRoleAdmin_Revert_DefaultAdminRole() (gas: 18062)
1182
- [PASS] test_setRoleAdmin_Success_NonAdminRole_Other() (gas: 42684)
1183
- [PASS] test_setRoleAdmin_Success_NonAdminRole_Self() (gas: 23859)
1184
- [PASS] test_storageHash() (gas: 3380)
1185
- Suite result: ok. 33 passed; 0 failed; 0 skipped; finished in 16.76s (653.28ms CPU time)
1186
-
1187
- Ran 22 tests for test/FeeConfigBaseUpgradeable.t.sol:FeeConfigBaseUpgradeableTest
1188
- [PASS] test_getAmountBeforeFee_BoundaryConditions() (gas: 48074)
1189
- [PASS] test_getAmountBeforeFee_Default() (gas: 45067)
1190
- [PASS] test_getAmountBeforeFee_Fuzz(uint16,uint224) (runs: 1000, μ: 45227, ~: 46317)
1191
- [PASS] test_getAmountBeforeFee_MaxBps() (gas: 44658)
1192
- [PASS] test_getAmountBeforeFee_Rounding() (gas: 45406)
1193
- [PASS] test_getAmountBeforeFee_Specific() (gas: 68448)
1194
- [PASS] test_getAmountBeforeFee_SpecificDisabled() (gas: 64007)
1195
- [PASS] test_getAmountBeforeFee_ZeroAmount() (gas: 40642)
1196
- [PASS] test_getAmountBeforeFee_ZeroBps() (gas: 22306)
1197
- [PASS] test_getFee_BoundaryConditions() (gas: 71791)
1198
- [PASS] test_getFee_Default() (gas: 40577)
1199
- [PASS] test_getFee_Fuzz(uint16,uint32,uint240) (runs: 1000, μ: 43422, ~: 44486)
1200
- [PASS] test_getFee_Rounding() (gas: 42835)
1201
- [PASS] test_getFee_Specific() (gas: 63968)
1202
- [PASS] test_getFee_SpecificDisabled() (gas: 63920)
1203
- [PASS] test_setDefaultFeeBps() (gas: 39576)
1204
- [PASS] test_setDefaultFeeBps_Fuzz(uint16) (runs: 1000, μ: 33038, ~: 39667)
1205
- [PASS] test_setDefaultFeeBps_RevertInvalid() (gas: 13860)
1206
- [PASS] test_setFeeBps() (gas: 73871)
1207
- Logs:
1208
- Bound result 500
1167
+ [PASS] test_unpause() (gas: 31115)
1168
+ [PASS] test_whenNotPaused_Fuzz(bool) (runs: 1000, μ: 40498, ~: 42029)
1169
+ [PASS] test_whenNotPaused_Revert_Paused() (gas: 41855)
1170
+ [PASS] test_whenNotPaused_Revert_WithReturnValue() (gas: 38375)
1171
+ [PASS] test_whenNotPaused_Success() (gas: 38744)
1172
+ [PASS] test_whenNotPaused_Success_AfterUnpause() (gas: 48261)
1173
+ [PASS] test_whenNotPaused_Success_MultipleCalls() (gas: 56792)
1174
+ [PASS] test_whenNotPaused_WithReturnValue() (gas: 15624)
1175
+ Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 11.88s (205.77ms CPU time)
1209
1176
 
1210
- [PASS] test_setFeeBps_Fuzz(uint16,uint32,uint16,bool) (runs: 1000, μ: 65585, ~: 74224)
1211
- [PASS] test_setFeeBps_RevertInvalid() (gas: 14075)
1212
- [PASS] test_storageHash() (gas: 3426)
1213
- Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 16.83s (934.59ms CPU time)
1177
+ Ran 32 tests for test/AllowlistRBACUpgradeable.t.sol:AllowlistRBACUpgradeableTest
1178
+ [PASS] test_SwitchModes_PreservesState() (gas: 195548)
1179
+ [PASS] test_constructor_InitialMode() (gas: 15778)
1180
+ [PASS] test_constructor_InitializeWhitelist() (gas: 2171134)
1181
+ [PASS] test_isAllowlisted_Blacklist_Blacklisted() (gas: 127952)
1182
+ [PASS] test_isAllowlisted_Blacklist_NotBlacklisted() (gas: 45551)
1183
+ [PASS] test_isAllowlisted_Fuzz_Blacklist_Blacklisted(address) (runs: 1000, μ: 115161, ~: 115161)
1184
+ [PASS] test_isAllowlisted_Fuzz_Blacklist_NotBlacklisted(address) (runs: 1000, μ: 43599, ~: 43599)
1185
+ [PASS] test_isAllowlisted_Fuzz_Open(address) (runs: 1000, μ: 15886, ~: 15886)
1186
+ [PASS] test_isAllowlisted_Fuzz_Whitelist_NotWhitelisted(address) (runs: 1000, μ: 43652, ~: 43652)
1187
+ [PASS] test_isAllowlisted_Fuzz_Whitelist_Whitelisted(address) (runs: 1000, μ: 115159, ~: 115159)
1188
+ [PASS] test_isAllowlisted_Open_AllAllowed() (gas: 26122)
1189
+ [PASS] test_isAllowlisted_Whitelist_NotWhitelisted() (gas: 45582)
1190
+ [PASS] test_isAllowlisted_Whitelist_Whitelisted() (gas: 127862)
1191
+ [PASS] test_onlyAllowlisted_Blacklist_RevertIfBlacklisted() (gas: 126878)
1192
+ [PASS] test_onlyAllowlisted_Open_AllAllowed() (gas: 22694)
1193
+ [PASS] test_onlyAllowlisted_Whitelist_RevertIfNotWhitelisted() (gas: 124784)
1194
+ [PASS] test_setAllowlistMode_Revert_Unauthorized() (gas: 20371)
1195
+ [PASS] test_setBlacklisted_EmptyArray() (gas: 13361)
1196
+ [PASS] test_setBlacklisted_MultipleUsers() (gas: 173727)
1197
+ [PASS] test_setBlacklisted_RemoveFromBlacklist() (gas: 99570)
1198
+ [PASS] test_setBlacklisted_Revert_AlreadyBlacklisted() (gas: 125055)
1199
+ [PASS] test_setBlacklisted_Revert_Unauthorized() (gas: 23329)
1200
+ [PASS] test_setMode_Blacklist() (gas: 42605)
1201
+ [PASS] test_setMode_MultipleChanges() (gas: 43274)
1202
+ [PASS] test_setMode_RevertSameMode() (gas: 51355)
1203
+ [PASS] test_setMode_Whitelist() (gas: 42714)
1204
+ [PASS] test_setWhitelisted_EmptyArray() (gas: 13339)
1205
+ [PASS] test_setWhitelisted_MultipleUsers() (gas: 173661)
1206
+ [PASS] test_setWhitelisted_RemoveFromWhitelist() (gas: 99588)
1207
+ [PASS] test_setWhitelisted_Revert_AlreadyWhitelisted() (gas: 125059)
1208
+ [PASS] test_setWhitelisted_Revert_Unauthorized() (gas: 23176)
1209
+ [PASS] test_storageHash() (gas: 3480)
1210
+ Suite result: ok. 32 passed; 0 failed; 0 skipped; finished in 11.88s (422.52ms CPU time)
1214
1211
 
1215
1212
  Ran 29 tests for test/AllowlistBaseUpgradeable.t.sol:AllowlistBaseUpgradeableTest
1216
1213
  [PASS] test_SwitchModes_PreservesState() (gas: 186406)
@@ -1242,12 +1239,42 @@ Ran 29 tests for test/AllowlistBaseUpgradeable.t.sol:AllowlistBaseUpgradeableTes
1242
1239
  [PASS] test_setWhitelisted_RemoveFromWhitelist() (gas: 94878)
1243
1240
  [PASS] test_setWhitelisted_Revert_AlreadyWhitelisted() (gas: 119358)
1244
1241
  [PASS] test_storageHash() (gas: 3458)
1245
- Suite result: ok. 29 passed; 0 failed; 0 skipped; finished in 16.84s (1.03s CPU time)
1242
+ Suite result: ok. 29 passed; 0 failed; 0 skipped; finished in 11.88s (553.17ms CPU time)
1243
+
1244
+ Ran 24 tests for test/FeeConfigRBACUpgradeable.t.sol:FeeConfigRBACUpgradeableTest
1245
+ [PASS] test_getAmountBeforeFee_BoundaryConditions() (gas: 51175)
1246
+ [PASS] test_getAmountBeforeFee_Default() (gas: 47637)
1247
+ [PASS] test_getAmountBeforeFee_Fuzz(uint16,uint224) (runs: 1000, μ: 47672, ~: 48966)
1248
+ [PASS] test_getAmountBeforeFee_MaxBps() (gas: 47301)
1249
+ [PASS] test_getAmountBeforeFee_Rounding() (gas: 48148)
1250
+ [PASS] test_getAmountBeforeFee_Specific() (gas: 71482)
1251
+ [PASS] test_getAmountBeforeFee_SpecificDisabled() (gas: 67096)
1252
+ [PASS] test_getAmountBeforeFee_ZeroAmount() (gas: 43173)
1253
+ [PASS] test_getAmountBeforeFee_ZeroBps() (gas: 22479)
1254
+ [PASS] test_getFee_BoundaryConditions() (gas: 75442)
1255
+ [PASS] test_getFee_Default() (gas: 43108)
1256
+ [PASS] test_getFee_Fuzz(uint16,uint32,uint240) (runs: 1000, μ: 45988, ~: 47017)
1257
+ [PASS] test_getFee_Rounding() (gas: 45449)
1258
+ [PASS] test_getFee_Specific() (gas: 66985)
1259
+ [PASS] test_getFee_SpecificDisabled() (gas: 66943)
1260
+ [PASS] test_setDefaultFeeBps() (gas: 42199)
1261
+ [PASS] test_setDefaultFeeBps_Fuzz(uint16) (runs: 1000, μ: 35320, ~: 42268)
1262
+ [PASS] test_setDefaultFeeBps_RevertInvalid() (gas: 16371)
1263
+ [PASS] test_setDefaultFeeBps_Revert_Unauthorized() (gas: 20432)
1264
+ [PASS] test_setFeeBps() (gas: 77237)
1265
+ Logs:
1266
+ Bound result 500
1267
+
1268
+ [PASS] test_setFeeBps_Fuzz(uint16,uint32,uint16,bool) (runs: 1000, μ: 69376, ~: 77570)
1269
+ [PASS] test_setFeeBps_RevertInvalid() (gas: 16575)
1270
+ [PASS] test_setFeeBps_Revert_Unauthorized() (gas: 20531)
1271
+ [PASS] test_storageHash() (gas: 3436)
1272
+ Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 12.52s (579.98ms CPU time)
1246
1273
 
1247
1274
  Ran 36 tests for test/EnumerableSetPagination.t.sol:EnumerableSetPaginationTest
1248
1275
  [PASS] test_address_paginate_AfterRemovingElements() (gas: 1136937)
1249
1276
  [PASS] test_address_paginate_EmptySet() (gas: 277856)
1250
- [PASS] test_address_paginate_Fuzz(uint256,uint256) (runs: 1000, μ: 771901, ~: 173491)
1277
+ [PASS] test_address_paginate_Fuzz(uint256,uint256) (runs: 1000, μ: 803179, ~: 222888)
1251
1278
  [PASS] test_address_paginate_LargeSet() (gas: 465360224)
1252
1279
  [PASS] test_address_paginate_LimitExceedsRemaining() (gas: 25775)
1253
1280
  [PASS] test_address_paginate_LimitExceedsTotal() (gas: 2837493)
@@ -1260,12 +1287,12 @@ Ran 36 tests for test/EnumerableSetPagination.t.sol:EnumerableSetPaginationTest
1260
1287
  [PASS] test_address_paginate_OffsetZero() (gas: 45775)
1261
1288
  [PASS] test_address_paginate_SequentialPagesCompleteSet() (gas: 3517742)
1262
1289
  [PASS] test_address_paginate_SingleElement() (gas: 344858)
1263
- [PASS] test_address_paginate_VaryingSize_Fuzz(uint8,uint256,uint256) (runs: 1000, μ: 11213144, ~: 10398665)
1290
+ [PASS] test_address_paginate_VaryingSize_Fuzz(uint8,uint256,uint256) (runs: 1000, μ: 11233787, ~: 10577063)
1264
1291
  [PASS] test_address_property_ConsecutivePagesNoOverlap() (gas: 297)
1265
1292
  [PASS] test_address_property_ReturnedLengthNeverExceedsLimit() (gas: 934858)
1266
1293
  [PASS] test_uint_paginate_AfterRemovingElements() (gas: 1121055)
1267
1294
  [PASS] test_uint_paginate_EmptySet() (gas: 266762)
1268
- [PASS] test_uint_paginate_Fuzz(uint256,uint256) (runs: 1000, μ: 743782, ~: 127616)
1295
+ [PASS] test_uint_paginate_Fuzz(uint256,uint256) (runs: 1000, μ: 759411, ~: 184347)
1269
1296
  [PASS] test_uint_paginate_LargeSet() (gas: 463783795)
1270
1297
  [PASS] test_uint_paginate_LimitExceedsRemaining() (gas: 25408)
1271
1298
  [PASS] test_uint_paginate_LimitExceedsTotal() (gas: 2748514)
@@ -1278,10 +1305,10 @@ Ran 36 tests for test/EnumerableSetPagination.t.sol:EnumerableSetPaginationTest
1278
1305
  [PASS] test_uint_paginate_OffsetZero() (gas: 44650)
1279
1306
  [PASS] test_uint_paginate_SequentialPagesCompleteSet() (gas: 3410721)
1280
1307
  [PASS] test_uint_paginate_SingleElement() (gas: 333617)
1281
- [PASS] test_uint_paginate_VaryingSize_Fuzz(uint8,uint256,uint256) (runs: 1000, μ: 11157431, ~: 10359916)
1308
+ [PASS] test_uint_paginate_VaryingSize_Fuzz(uint8,uint256,uint256) (runs: 1000, μ: 11180027, ~: 10415027)
1282
1309
  [PASS] test_uint_property_ConsecutivePagesNoOverlap() (gas: 3063089)
1283
1310
  [PASS] test_uint_property_ReturnedLengthNeverExceedsLimit() (gas: 896521)
1284
- Suite result: ok. 36 passed; 0 failed; 0 skipped; finished in 16.83s (39.50s CPU time)
1311
+ Suite result: ok. 36 passed; 0 failed; 0 skipped; finished in 12.52s (28.45s CPU time)
1285
1312
 
1286
- Ran 17 test suites in 16.86s (96.86s CPU time): 412 tests passed, 0 failed, 0 skipped (412 total tests)
1287
- ⏳ forge test: 31.356s
1313
+ Ran 17 test suites in 12.55s (68.54s CPU time): 412 tests passed, 0 failed, 0 skipped (412 total tests)
1314
+ ⏳ forge test: 28.778s