diff --git a/.gas-snapshot b/.gas-snapshot index 091eddbb0c..b69d9925d5 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,9 +1,9 @@ Base64Test:testBase64DecodeSentenceGas() (gas: 3663) Base64Test:testBase64DecodeShortStringGas() (gas: 896) -Base64Test:testBase64EncodeDecode(bytes) (runs: 256, μ: 5995, ~: 4968) -Base64Test:testBase64EncodeDecodeAltModes(bytes) (runs: 256, μ: 850446, ~: 735537) +Base64Test:testBase64EncodeDecode(bytes) (runs: 257, μ: 5995, ~: 4968) +Base64Test:testBase64EncodeDecodeAltModes(bytes) (runs: 257, μ: 850023, ~: 735759) Base64Test:testBase64EncodeEmptyString() (gas: 902) -Base64Test:testBase64EncodeFileSafeAndNoPadding(bytes,bool,bool) (runs: 256, μ: 15410, ~: 14264) +Base64Test:testBase64EncodeFileSafeAndNoPadding(bytes,bool,bool) (runs: 257, μ: 15375, ~: 14264) Base64Test:testBase64EncodeSentence() (gas: 4333) Base64Test:testBase64EncodeShortStrings() (gas: 7610) Base64Test:testBase64EncodeToStringWithDoublePadding() (gas: 1553) @@ -12,77 +12,77 @@ Base64Test:testBase64EncodeToStringWithSinglePadding() (gas: 1487) Base64Test:testBase64WordBoundary() (gas: 11624) Base64Test:test__codesize() (gas: 6613) CREATE3Test:testDeployERC20() (gas: 833214) -CREATE3Test:testDeployERC20(bytes32,string,string,uint8) (runs: 256, μ: 880244, ~: 879298) +CREATE3Test:testDeployERC20(bytes32,string,string,uint8) (runs: 257, μ: 880163, ~: 879298) CREATE3Test:testDeployedUpperBitsSafeForPlainSolidity() (gas: 657) CREATE3Test:testDoubleDeployDifferentBytecodeReverts() (gas: 96898737) -CREATE3Test:testDoubleDeployDifferentBytecodeReverts(bytes32,bytes,bytes) (runs: 256, μ: 96880355, ~: 96880374) +CREATE3Test:testDoubleDeployDifferentBytecodeReverts(bytes32,bytes,bytes) (runs: 257, μ: 96880352, ~: 96880365) CREATE3Test:testDoubleDeploySameBytecodeReverts() (gas: 96889195) -CREATE3Test:testDoubleDeploySameBytecodeReverts(bytes32,bytes) (runs: 256, μ: 96881069, ~: 96881000) +CREATE3Test:testDoubleDeploySameBytecodeReverts(bytes32,bytes) (runs: 257, μ: 96881066, ~: 96881000) CREATE3Test:test__codesize() (gas: 14017) -DateTimeLibTest:testAddSubDiffDays(uint256,uint256) (runs: 256, μ: 4205, ~: 4216) -DateTimeLibTest:testAddSubDiffHours(uint256,uint256) (runs: 256, μ: 4150, ~: 4162) -DateTimeLibTest:testAddSubDiffMinutes(uint256,uint256) (runs: 256, μ: 4147, ~: 4136) -DateTimeLibTest:testAddSubDiffMonths(uint256,uint256) (runs: 256, μ: 7249, ~: 7264) -DateTimeLibTest:testAddSubDiffSeconds(uint256,uint256) (runs: 256, μ: 3767, ~: 3728) -DateTimeLibTest:testAddSubDiffYears(uint256,uint256) (runs: 256, μ: 6813, ~: 6829) +DateTimeLibTest:testAddSubDiffDays(uint256,uint256) (runs: 257, μ: 4205, ~: 4216) +DateTimeLibTest:testAddSubDiffHours(uint256,uint256) (runs: 257, μ: 4150, ~: 4162) +DateTimeLibTest:testAddSubDiffMinutes(uint256,uint256) (runs: 257, μ: 4147, ~: 4136) +DateTimeLibTest:testAddSubDiffMonths(uint256,uint256) (runs: 257, μ: 7249, ~: 7264) +DateTimeLibTest:testAddSubDiffSeconds(uint256,uint256) (runs: 257, μ: 3767, ~: 3728) +DateTimeLibTest:testAddSubDiffYears(uint256,uint256) (runs: 257, μ: 6813, ~: 6829) DateTimeLibTest:testDateTimeArithmeticReverts() (gas: 4495) DateTimeLibTest:testDateTimeMaxSupported() (gas: 2823) -DateTimeLibTest:testDateTimeToAndFroTimestamp((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 4181, ~: 4124) -DateTimeLibTest:testDateToAndFroEpochDay((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 2582, ~: 2586) +DateTimeLibTest:testDateTimeToAndFroTimestamp((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 257, μ: 4181, ~: 4124) +DateTimeLibTest:testDateToAndFroEpochDay((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 257, μ: 2582, ~: 2605) DateTimeLibTest:testDateToAndFroEpochDay() (gas: 866444) DateTimeLibTest:testDateToAndFroTimestamp() (gas: 908693) DateTimeLibTest:testDateToEpochDay() (gas: 1559) -DateTimeLibTest:testDateToEpochDayDifferential((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 2320, ~: 2327) -DateTimeLibTest:testDateToEpochDayDifferential2((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 2243, ~: 2247) +DateTimeLibTest:testDateToEpochDayDifferential((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 257, μ: 2321, ~: 2339) +DateTimeLibTest:testDateToEpochDayDifferential2((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 257, μ: 2243, ~: 2266) DateTimeLibTest:testDateToEpochDayGas() (gas: 756479) DateTimeLibTest:testDateToEpochDayGas2() (gas: 759345) DateTimeLibTest:testDayOfWeek() (gas: 175255) DateTimeLibTest:testDaysInMonth() (gas: 1226) -DateTimeLibTest:testDaysInMonth(uint256,uint256) (runs: 256, μ: 1083, ~: 1093) +DateTimeLibTest:testDaysInMonth(uint256,uint256) (runs: 257, μ: 1083, ~: 1093) DateTimeLibTest:testDaysToDate() (gas: 8377) -DateTimeLibTest:testEpochDayToDate(uint256) (runs: 256, μ: 1045, ~: 1045) -DateTimeLibTest:testEpochDayToDateDifferential(uint256) (runs: 256, μ: 1777, ~: 1721) -DateTimeLibTest:testEpochDayToDateDifferential2(uint256) (runs: 256, μ: 1785, ~: 1709) +DateTimeLibTest:testEpochDayToDate(uint256) (runs: 257, μ: 1045, ~: 1045) +DateTimeLibTest:testEpochDayToDateDifferential(uint256) (runs: 257, μ: 1777, ~: 1721) +DateTimeLibTest:testEpochDayToDateDifferential2(uint256) (runs: 257, μ: 1785, ~: 1709) DateTimeLibTest:testEpochDayToDateGas() (gas: 340769) DateTimeLibTest:testEpochDayToDateGas2() (gas: 357399) DateTimeLibTest:testIsLeapYear() (gas: 741) -DateTimeLibTest:testIsLeapYear(uint256) (runs: 256, μ: 539, ~: 517) +DateTimeLibTest:testIsLeapYear(uint256) (runs: 257, μ: 539, ~: 517) DateTimeLibTest:testIsSupportedDateFalse() (gas: 1180) -DateTimeLibTest:testIsSupportedDateTime((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 3002, ~: 2984) +DateTimeLibTest:testIsSupportedDateTime((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 257, μ: 3002, ~: 2984) DateTimeLibTest:testIsSupportedDateTrue() (gas: 626) DateTimeLibTest:testIsSupportedEpochDayFalse() (gas: 494) DateTimeLibTest:testIsSupportedEpochDayTrue() (gas: 305) DateTimeLibTest:testIsSupportedTimestampFalse() (gas: 541) DateTimeLibTest:testIsSupportedTimestampTrue() (gas: 326) -DateTimeLibTest:testIsWeekEnd(uint256) (runs: 256, μ: 691, ~: 617) +DateTimeLibTest:testIsWeekEnd(uint256) (runs: 257, μ: 691, ~: 617) DateTimeLibTest:testMondayTimestamp() (gas: 1106) -DateTimeLibTest:testMondayTimestamp(uint256) (runs: 256, μ: 768, ~: 836) +DateTimeLibTest:testMondayTimestamp(uint256) (runs: 257, μ: 768, ~: 836) DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp() (gas: 12053) -DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp(uint256,uint256,uint256,uint256) (runs: 256, μ: 3574, ~: 3622) +DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp(uint256,uint256,uint256,uint256) (runs: 257, μ: 3575, ~: 3622) DateTimeLibTest:testWeekday() (gas: 682) DateTimeLibTest:test__codesize() (gas: 19095) DelegateCheckerLibTest:testCheckDelegateForAll() (gas: 35639) -DelegateCheckerLibTest:testCheckDelegateForAll(address,address,bytes32) (runs: 256, μ: 236062, ~: 244657) +DelegateCheckerLibTest:testCheckDelegateForAll(address,address,bytes32) (runs: 257, μ: 235371, ~: 244625) DelegateCheckerLibTest:testCheckDelegateForContract() (gas: 54172) -DelegateCheckerLibTest:testCheckDelegateForContract(address,address,address,bytes32) (runs: 256, μ: 331801, ~: 293768) +DelegateCheckerLibTest:testCheckDelegateForContract(address,address,address,bytes32) (runs: 257, μ: 332267, ~: 293859) DelegateCheckerLibTest:testCheckDelegateForERC1155() (gas: 62242) -DelegateCheckerLibTest:testCheckDelegateForERC1155(address,address,address,uint256,bytes32) (runs: 256, μ: 282165, ~: 297561) +DelegateCheckerLibTest:testCheckDelegateForERC1155(address,address,address,uint256,bytes32) (runs: 257, μ: 283055, ~: 300036) DelegateCheckerLibTest:testCheckDelegateForERC20() (gas: 61708) -DelegateCheckerLibTest:testCheckDelegateForERC20(address,address,address,bytes32) (runs: 256, μ: 280865, ~: 278281) +DelegateCheckerLibTest:testCheckDelegateForERC20(address,address,address,bytes32) (runs: 257, μ: 280928, ~: 278319) DelegateCheckerLibTest:testCheckDelegateForERC721() (gas: 69938) -DelegateCheckerLibTest:testCheckDelegateForERC721(address,address,address,uint256,bytes32) (runs: 256, μ: 432631, ~: 374246) +DelegateCheckerLibTest:testCheckDelegateForERC721(address,address,address,uint256,bytes32) (runs: 257, μ: 431360, ~: 370727) DelegateCheckerLibTest:test__codesize() (gas: 33111) -DeploylessPredeployQueryerTest:testPredeployQueryer(bytes32) (runs: 256, μ: 229593, ~: 222435) +DeploylessPredeployQueryerTest:testPredeployQueryer(bytes32) (runs: 257, μ: 229679, ~: 222488) DeploylessPredeployQueryerTest:test__codesize() (gas: 6732) -DynamicBufferLibTest:testClear(uint256) (runs: 256, μ: 34540, ~: 34585) -DynamicBufferLibTest:testDynamicBuffer(bytes[],uint256) (runs: 256, μ: 966207, ~: 800099) -DynamicBufferLibTest:testDynamicBuffer(uint256) (runs: 256, μ: 875446, ~: 680758) +DynamicBufferLibTest:testClear(uint256) (runs: 257, μ: 34542, ~: 34590) +DynamicBufferLibTest:testDynamicBuffer(bytes[],uint256) (runs: 257, μ: 971057, ~: 800274) +DynamicBufferLibTest:testDynamicBuffer(uint256) (runs: 257, μ: 874713, ~: 680759) DynamicBufferLibTest:testDynamicBufferChaining() (gas: 12661) -DynamicBufferLibTest:testDynamicBufferPushSingles(uint256,uint256,uint256) (runs: 256, μ: 363406, ~: 43013) +DynamicBufferLibTest:testDynamicBufferPushSingles(uint256,uint256,uint256) (runs: 257, μ: 362143, ~: 42966) DynamicBufferLibTest:testDynamicBufferPushSinglesReinterpretCast() (gas: 21959) DynamicBufferLibTest:testDynamicBufferReserveFromEmpty() (gas: 2754) DynamicBufferLibTest:testDynamicBufferReserveFromEmpty2() (gas: 2463) -DynamicBufferLibTest:testDynamicBufferReserveFromEmpty3(bytes,uint256) (runs: 256, μ: 2765, ~: 2069) +DynamicBufferLibTest:testDynamicBufferReserveFromEmpty3(bytes,uint256) (runs: 257, μ: 2788, ~: 2069) DynamicBufferLibTest:testJoinWithConcat() (gas: 31429) DynamicBufferLibTest:testJoinWithDynamicBuffer() (gas: 10830) DynamicBufferLibTest:test__codesize() (gas: 12781) @@ -93,7 +93,7 @@ ECDSATest:testBytesToEthSignedMessageHashExceedsMaxLengthReverts() (gas: 614955) ECDSATest:testBytesToEthSignedMessageHashLong() (gas: 681) ECDSATest:testBytesToEthSignedMessageHashShort() (gas: 620) ECDSATest:testEmptyCalldataHelpers() (gas: 3224) -ECDSATest:testRecoverAndTryRecover(bytes32) (runs: 256, μ: 2902243, ~: 2532734) +ECDSATest:testRecoverAndTryRecover(bytes32) (runs: 257, μ: 2900804, ~: 2532650) ECDSATest:testRecoverWithInvalidLongSignatureReverts() (gas: 7363) ECDSATest:testRecoverWithInvalidShortSignatureReturnsZero() (gas: 7176) ECDSATest:testRecoverWithInvalidSignatureReverts() (gas: 7963) @@ -143,60 +143,60 @@ EIP712Test:testHashTypedDataWithChaindIdChange() (gas: 45775) EIP712Test:test__codesize() (gas: 11765) ERC1155HooksTest:testERC1155Hooks() (gas: 4614597) ERC1155HooksTest:test__codesize() (gas: 12638) -ERC1155Test:testApproveAll(address,bool) (runs: 256, μ: 49298, ~: 58598) -ERC1155Test:testAuthorizedEquivalence(address,address,bool) (runs: 256, μ: 714, ~: 715) -ERC1155Test:testBalanceOfBatchWithArrayMismatchReverts(uint256) (runs: 256, μ: 31770, ~: 34831) -ERC1155Test:testBatchBalanceOf(uint256) (runs: 256, μ: 119428, ~: 148300) -ERC1155Test:testBatchBurn(uint256) (runs: 256, μ: 184272, ~: 162864) -ERC1155Test:testBatchBurnInsufficientBalanceReverts(uint256) (runs: 256, μ: 177218, ~: 174182) -ERC1155Test:testBatchBurnWithArrayLengthMismatchReverts(uint256) (runs: 256, μ: 44792, ~: 43811) -ERC1155Test:testBatchMintToEOA(uint256) (runs: 256, μ: 123843, ~: 100338) -ERC1155Test:testBatchMintToERC1155Recipient(uint256) (runs: 256, μ: 775075, ~: 819899) -ERC1155Test:testBatchMintToNonERC1155RecipientReverts(uint256) (runs: 256, μ: 162194, ~: 185489) -ERC1155Test:testBatchMintToRevertingERC1155RecipientReverts(uint256) (runs: 256, μ: 340969, ~: 323165) -ERC1155Test:testBatchMintToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 256, μ: 290098, ~: 273002) -ERC1155Test:testBatchMintToZeroReverts(uint256) (runs: 256, μ: 78881, ~: 90108) -ERC1155Test:testBatchMintWithArrayMismatchReverts(uint256) (runs: 256, μ: 33391, ~: 35616) -ERC1155Test:testBurn(uint256) (runs: 256, μ: 91968, ~: 84230) -ERC1155Test:testBurnInsufficientBalanceReverts(uint256) (runs: 256, μ: 97212, ~: 96690) -ERC1155Test:testDirectSetApprovalForAll(address,address,bool) (runs: 256, μ: 25330, ~: 15691) -ERC1155Test:testMintToEOA(uint256) (runs: 256, μ: 72767, ~: 72363) -ERC1155Test:testMintToERC1155Recipient(uint256) (runs: 256, μ: 667358, ~: 652311) -ERC1155Test:testMintToNonERC155RecipientReverts(uint256) (runs: 256, μ: 103271, ~: 103337) -ERC1155Test:testMintToRevertingERC155RecipientReverts(uint256) (runs: 256, μ: 283802, ~: 283845) -ERC1155Test:testMintToWrongReturnDataERC155RecipientReverts(uint256) (runs: 256, μ: 238379, ~: 238439) -ERC1155Test:testMintToZeroReverts(uint256) (runs: 256, μ: 33221, ~: 33191) +ERC1155Test:testApproveAll(address,bool) (runs: 257, μ: 49259, ~: 58598) +ERC1155Test:testAuthorizedEquivalence(address,address,bool) (runs: 257, μ: 714, ~: 715) +ERC1155Test:testBalanceOfBatchWithArrayMismatchReverts(uint256) (runs: 257, μ: 31782, ~: 34829) +ERC1155Test:testBatchBalanceOf(uint256) (runs: 257, μ: 119101, ~: 148228) +ERC1155Test:testBatchBurn(uint256) (runs: 257, μ: 184080, ~: 162861) +ERC1155Test:testBatchBurnInsufficientBalanceReverts(uint256) (runs: 257, μ: 177398, ~: 174197) +ERC1155Test:testBatchBurnWithArrayLengthMismatchReverts(uint256) (runs: 257, μ: 44786, ~: 43805) +ERC1155Test:testBatchMintToEOA(uint256) (runs: 257, μ: 123553, ~: 100287) +ERC1155Test:testBatchMintToERC1155Recipient(uint256) (runs: 257, μ: 775802, ~: 819899) +ERC1155Test:testBatchMintToNonERC1155RecipientReverts(uint256) (runs: 257, μ: 161906, ~: 185416) +ERC1155Test:testBatchMintToRevertingERC1155RecipientReverts(uint256) (runs: 257, μ: 341259, ~: 327099) +ERC1155Test:testBatchMintToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 257, μ: 290409, ~: 273015) +ERC1155Test:testBatchMintToZeroReverts(uint256) (runs: 257, μ: 79027, ~: 90119) +ERC1155Test:testBatchMintWithArrayMismatchReverts(uint256) (runs: 257, μ: 33401, ~: 35618) +ERC1155Test:testBurn(uint256) (runs: 257, μ: 91938, ~: 84282) +ERC1155Test:testBurnInsufficientBalanceReverts(uint256) (runs: 257, μ: 97207, ~: 96658) +ERC1155Test:testDirectSetApprovalForAll(address,address,bool) (runs: 257, μ: 25369, ~: 15691) +ERC1155Test:testMintToEOA(uint256) (runs: 257, μ: 72755, ~: 72331) +ERC1155Test:testMintToERC1155Recipient(uint256) (runs: 257, μ: 667465, ~: 652320) +ERC1155Test:testMintToNonERC155RecipientReverts(uint256) (runs: 257, μ: 103272, ~: 103341) +ERC1155Test:testMintToRevertingERC155RecipientReverts(uint256) (runs: 257, μ: 283803, ~: 283846) +ERC1155Test:testMintToWrongReturnDataERC155RecipientReverts(uint256) (runs: 257, μ: 238380, ~: 238440) +ERC1155Test:testMintToZeroReverts(uint256) (runs: 257, μ: 33221, ~: 33191) ERC1155Test:testSafeBatchTransfer() (gas: 8294532) -ERC1155Test:testSafeBatchTransferFromToEOA(uint256) (runs: 256, μ: 215421, ~: 189911) -ERC1155Test:testSafeBatchTransferFromToERC1155Recipient(uint256) (runs: 256, μ: 913907, ~: 964770) -ERC1155Test:testSafeBatchTransferFromToNonERC1155RecipientReverts(uint256) (runs: 256, μ: 227536, ~: 197695) -ERC1155Test:testSafeBatchTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 256, μ: 415946, ~: 378935) -ERC1155Test:testSafeBatchTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 256, μ: 368457, ~: 360305) -ERC1155Test:testSafeBatchTransferFromToZeroReverts(uint256) (runs: 256, μ: 156667, ~: 173086) -ERC1155Test:testSafeBatchTransferFromWithArrayLengthMismatchReverts(uint256) (runs: 256, μ: 49513, ~: 66812) -ERC1155Test:testSafeBatchTransferInsufficientBalanceReverts(uint256) (runs: 256, μ: 179167, ~: 175238) -ERC1155Test:testSafeTransferFromInsufficientBalanceReverts(uint256) (runs: 256, μ: 98895, ~: 99673) -ERC1155Test:testSafeTransferFromSelf(uint256) (runs: 256, μ: 106561, ~: 106173) -ERC1155Test:testSafeTransferFromSelfInsufficientBalanceReverts(uint256) (runs: 256, μ: 71641, ~: 72195) -ERC1155Test:testSafeTransferFromToEOA(uint256) (runs: 256, μ: 119089, ~: 111655) -ERC1155Test:testSafeTransferFromToERC1155Recipient(uint256) (runs: 256, μ: 750259, ~: 734262) -ERC1155Test:testSafeTransferFromToNonERC155RecipientReverts(uint256) (runs: 256, μ: 141214, ~: 140956) -ERC1155Test:testSafeTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 256, μ: 321278, ~: 321274) -ERC1155Test:testSafeTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 256, μ: 275971, ~: 275513) -ERC1155Test:testSafeTransferFromToZeroReverts(uint256) (runs: 256, μ: 70815, ~: 70532) +ERC1155Test:testSafeBatchTransferFromToEOA(uint256) (runs: 257, μ: 215214, ~: 189824) +ERC1155Test:testSafeBatchTransferFromToERC1155Recipient(uint256) (runs: 257, μ: 913044, ~: 956506) +ERC1155Test:testSafeBatchTransferFromToNonERC1155RecipientReverts(uint256) (runs: 257, μ: 227984, ~: 197721) +ERC1155Test:testSafeBatchTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 257, μ: 415518, ~: 378850) +ERC1155Test:testSafeBatchTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 257, μ: 368320, ~: 334148) +ERC1155Test:testSafeBatchTransferFromToZeroReverts(uint256) (runs: 257, μ: 156733, ~: 173104) +ERC1155Test:testSafeBatchTransferFromWithArrayLengthMismatchReverts(uint256) (runs: 257, μ: 49583, ~: 66812) +ERC1155Test:testSafeBatchTransferInsufficientBalanceReverts(uint256) (runs: 257, μ: 178961, ~: 175236) +ERC1155Test:testSafeTransferFromInsufficientBalanceReverts(uint256) (runs: 257, μ: 98905, ~: 99673) +ERC1155Test:testSafeTransferFromSelf(uint256) (runs: 257, μ: 106577, ~: 106200) +ERC1155Test:testSafeTransferFromSelfInsufficientBalanceReverts(uint256) (runs: 257, μ: 71626, ~: 72184) +ERC1155Test:testSafeTransferFromToEOA(uint256) (runs: 257, μ: 119149, ~: 111660) +ERC1155Test:testSafeTransferFromToERC1155Recipient(uint256) (runs: 257, μ: 750360, ~: 734265) +ERC1155Test:testSafeTransferFromToNonERC155RecipientReverts(uint256) (runs: 257, μ: 141227, ~: 140974) +ERC1155Test:testSafeTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 257, μ: 321293, ~: 321289) +ERC1155Test:testSafeTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 257, μ: 275961, ~: 275494) +ERC1155Test:testSafeTransferFromToZeroReverts(uint256) (runs: 257, μ: 70811, ~: 70499) ERC1155Test:test__codesize() (gas: 42341) ERC1271Test:testBasefeeBytecodeContract() (gas: 45430) -ERC1271Test:testIsValidSignature() (gas: 2464331) -ERC1271Test:testIsValidSignature(uint256) (runs: 256, μ: 250180, ~: 214177) +ERC1271Test:testIsValidSignature() (gas: 2465639) +ERC1271Test:testIsValidSignature(uint256) (runs: 257, μ: 252582, ~: 213785) ERC1271Test:testSupportsNestedTypedDataSign() (gas: 165491) -ERC1271Test:test__codesize() (gas: 30784) +ERC1271Test:test__codesize() (gas: 30808) ERC1967FactoryTest:testChangeAdmin() (gas: 266356) ERC1967FactoryTest:testChangeAdminUnauthorized() (gas: 257653) ERC1967FactoryTest:testDeploy() (gas: 257202) -ERC1967FactoryTest:testDeployAndCall(uint256) (runs: 256, μ: 339508, ~: 340947) +ERC1967FactoryTest:testDeployAndCall(uint256) (runs: 257, μ: 339513, ~: 340946) ERC1967FactoryTest:testDeployAndCallWithRevert() (gas: 211730) -ERC1967FactoryTest:testDeployBrutalized(uint256) (runs: 256, μ: 95001, ~: 44117) -ERC1967FactoryTest:testDeployDeterministicAndCall(uint256) (runs: 256, μ: 303262, ~: 350126) +ERC1967FactoryTest:testDeployBrutalized(uint256) (runs: 257, μ: 95610, ~: 44118) +ERC1967FactoryTest:testDeployDeterministicAndCall(uint256) (runs: 257, μ: 302912, ~: 350126) ERC1967FactoryTest:testFactoryDeployment() (gas: 494435) ERC1967FactoryTest:testProxyFails() (gas: 259028) ERC1967FactoryTest:testProxySucceeds() (gas: 255707) @@ -209,75 +209,75 @@ ERC1967FactoryTest:test__codesize() (gas: 32011) ERC20Invariants:invariantBalanceSum() (runs: 10, calls: 150, reverts: 94) ERC20Invariants:test__codesize() (gas: 7532) ERC20Test:testApprove() (gas: 35730) -ERC20Test:testApprove(address,uint256) (runs: 256, μ: 31103, ~: 31181) +ERC20Test:testApprove(address,uint256) (runs: 257, μ: 31103, ~: 31181) ERC20Test:testBurn() (gas: 62048) -ERC20Test:testBurn(address,uint256,uint256) (runs: 256, μ: 62245, ~: 62663) -ERC20Test:testBurnInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 56282, ~: 56517) -ERC20Test:testDirectSpendAllowance(uint256) (runs: 256, μ: 61709, ~: 61795) -ERC20Test:testDirectTransfer(uint256) (runs: 256, μ: 98600, ~: 86518) +ERC20Test:testBurn(address,uint256,uint256) (runs: 257, μ: 62247, ~: 62663) +ERC20Test:testBurnInsufficientBalanceReverts(address,uint256,uint256) (runs: 257, μ: 56284, ~: 56517) +ERC20Test:testDirectSpendAllowance(uint256) (runs: 257, μ: 61712, ~: 61795) +ERC20Test:testDirectTransfer(uint256) (runs: 257, μ: 98655, ~: 86519) ERC20Test:testInfiniteApproveTransferFrom() (gas: 90288) ERC20Test:testMetadata() (gas: 16516) ERC20Test:testMint() (gas: 58700) -ERC20Test:testMint(address,uint256) (runs: 256, μ: 58787, ~: 58943) +ERC20Test:testMint(address,uint256) (runs: 257, μ: 58788, ~: 58943) ERC20Test:testMintOverMaxUintReverts() (gas: 55969) ERC20Test:testPermit() (gas: 89767) -ERC20Test:testPermit(uint256) (runs: 256, μ: 89735, ~: 89710) -ERC20Test:testPermitBadDeadlineReverts(uint256) (runs: 256, μ: 41485, ~: 41470) -ERC20Test:testPermitBadNonceReverts(uint256) (runs: 256, μ: 41918, ~: 41950) -ERC20Test:testPermitPastDeadlineReverts(uint256) (runs: 256, μ: 36057, ~: 36014) -ERC20Test:testPermitReplayReverts(uint256) (runs: 256, μ: 92431, ~: 92415) +ERC20Test:testPermit(uint256) (runs: 257, μ: 89735, ~: 89710) +ERC20Test:testPermitBadDeadlineReverts(uint256) (runs: 257, μ: 41486, ~: 41470) +ERC20Test:testPermitBadNonceReverts(uint256) (runs: 257, μ: 41918, ~: 41950) +ERC20Test:testPermitPastDeadlineReverts(uint256) (runs: 257, μ: 36056, ~: 36014) +ERC20Test:testPermitReplayReverts(uint256) (runs: 257, μ: 92431, ~: 92415) ERC20Test:testTransfer() (gas: 65514) -ERC20Test:testTransfer(address,uint256) (runs: 256, μ: 65574, ~: 65730) +ERC20Test:testTransfer(address,uint256) (runs: 257, μ: 65575, ~: 65730) ERC20Test:testTransferFrom() (gas: 85869) -ERC20Test:testTransferFrom(address,address,address,uint256,uint256) (runs: 256, μ: 92829, ~: 95053) +ERC20Test:testTransferFrom(address,address,address,uint256,uint256) (runs: 257, μ: 92838, ~: 95053) ERC20Test:testTransferFromInsufficientAllowanceReverts() (gas: 81760) -ERC20Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256) (runs: 256, μ: 82135, ~: 82214) +ERC20Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256) (runs: 257, μ: 82136, ~: 82214) ERC20Test:testTransferFromInsufficientBalanceReverts() (gas: 62108) -ERC20Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 62777, ~: 62649) +ERC20Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256) (runs: 257, μ: 62778, ~: 62649) ERC20Test:testTransferInsufficientBalanceReverts() (gas: 56113) -ERC20Test:testTransferInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 56341, ~: 56576) +ERC20Test:testTransferInsufficientBalanceReverts(address,uint256,uint256) (runs: 257, μ: 56343, ~: 56576) ERC20Test:test__codesize() (gas: 22620) -ERC2981Test:testRoyaltyOverflowCheckDifferential(uint256,uint256) (runs: 256, μ: 480, ~: 480) -ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 256, μ: 110174, ~: 105368) +ERC2981Test:testRoyaltyOverflowCheckDifferential(uint256,uint256) (runs: 257, μ: 480, ~: 480) +ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 257, μ: 110155, ~: 105361) ERC2981Test:test__codesize() (gas: 7113) ERC4337FactoryTest:testCreateAccountRepeatedDeployment() (gas: 149735) -ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 256, μ: 171681, ~: 171697) -ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 256, μ: 127029, ~: 139916) -ERC4337FactoryTest:test__codesize() (gas: 12848) +ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 257, μ: 171667, ~: 171564) +ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 257, μ: 130981, ~: 139917) +ERC4337FactoryTest:test__codesize() (gas: 12860) ERC4337Test:testCdFallback() (gas: 438041) ERC4337Test:testCdFallback2() (gas: 1135303) ERC4337Test:testDelegateExecute() (gas: 366407) -ERC4337Test:testDelegateExecute(uint256) (runs: 256, μ: 354400, ~: 345250) +ERC4337Test:testDelegateExecute(uint256) (runs: 257, μ: 354297, ~: 345250) ERC4337Test:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 320067) ERC4337Test:testDepositFunctions() (gas: 497140) ERC4337Test:testDirectStorage() (gas: 70503) -ERC4337Test:testDisableInitializerForImplementation() (gas: 1333448) +ERC4337Test:testDisableInitializerForImplementation() (gas: 1335854) ERC4337Test:testETHReceived() (gas: 16584) ERC4337Test:testExecute() (gas: 383712) ERC4337Test:testExecuteBatch() (gas: 694187) -ERC4337Test:testExecuteBatch(uint256) (runs: 256, μ: 526709, ~: 424081) +ERC4337Test:testExecuteBatch(uint256) (runs: 257, μ: 520970, ~: 369178) ERC4337Test:testInitializer() (gas: 285656) -ERC4337Test:testIsValidSignature() (gas: 120020) -ERC4337Test:testIsValidSignaturePersonalSign() (gas: 103292) -ERC4337Test:testIsValidSignatureViaRPC() (gas: 96881549) -ERC4337Test:testIsValidSignatureWrapped() (gas: 446520) +ERC4337Test:testIsValidSignature() (gas: 120568) +ERC4337Test:testIsValidSignaturePersonalSign() (gas: 103754) +ERC4337Test:testIsValidSignatureViaRPC() (gas: 96881553) +ERC4337Test:testIsValidSignatureWrapped() (gas: 446596) ERC4337Test:testOnERC1155BatchReceived() (gas: 1569677) ERC4337Test:testOnERC1155Received() (gas: 1567008) ERC4337Test:testOnERC721Received() (gas: 1601995) ERC4337Test:testOwnerRecovery() (gas: 479934) ERC4337Test:testValidateUserOp() (gas: 484912) -ERC4337Test:test__codesize() (gas: 57416) +ERC4337Test:test__codesize() (gas: 57428) ERC4626Test:testDepositWithNoApprovalReverts() (gas: 16569) ERC4626Test:testDepositWithNotEnoughApprovalReverts() (gas: 90179) -ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 256, μ: 3314, ~: 3319) +ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 257, μ: 3313, ~: 3319) ERC4626Test:testMetadata() (gas: 14354) ERC4626Test:testMintWithNoApprovalReverts() (gas: 16543) ERC4626Test:testMintZero() (gas: 53551) ERC4626Test:testMultipleMintDepositRedeemWithdraw() (gas: 410466) ERC4626Test:testRedeemWithNoShareAmountReverts() (gas: 10918) ERC4626Test:testRedeemWithNotEnoughShareAmountReverts() (gas: 143210) -ERC4626Test:testSingleDepositWithdraw(uint128) (runs: 256, μ: 201956, ~: 201960) -ERC4626Test:testSingleMintRedeem(uint128) (runs: 256, μ: 200921, ~: 200926) +ERC4626Test:testSingleDepositWithdraw(uint128) (runs: 257, μ: 201956, ~: 201960) +ERC4626Test:testSingleMintRedeem(uint128) (runs: 257, μ: 200921, ~: 200926) ERC4626Test:testTryGetAssetDecimals() (gas: 31508026) ERC4626Test:testUseVirtualShares() (gas: 2428448) ERC4626Test:testVaultInteractionsForSomeoneElse() (gas: 296637) @@ -288,283 +288,283 @@ ERC4626Test:testWithdrawZero() (gas: 51874) ERC4626Test:test__codesize() (gas: 37159) ERC6551Test:testBaseFeeMini() (gas: 39514) ERC6551Test:testCdFallback() (gas: 895572) -ERC6551Test:testDeployERC6551(uint256) (runs: 256, μ: 170676, ~: 168926) +ERC6551Test:testDeployERC6551(uint256) (runs: 257, μ: 170784, ~: 168933) ERC6551Test:testDeployERC6551Proxy() (gas: 80395) ERC6551Test:testExecute() (gas: 507633) ERC6551Test:testExecuteBatch() (gas: 817562) -ERC6551Test:testExecuteBatch(uint256) (runs: 256, μ: 628613, ~: 558978) +ERC6551Test:testExecuteBatch(uint256) (runs: 257, μ: 649607, ~: 763023) ERC6551Test:testInitializeERC6551ProxyImplementation() (gas: 189914) -ERC6551Test:testIsValidSigner(address) (runs: 256, μ: 167463, ~: 167453) +ERC6551Test:testIsValidSigner(address) (runs: 257, μ: 167464, ~: 167453) ERC6551Test:testOnERC1155BatchReceived() (gas: 1702519) ERC6551Test:testOnERC1155Received() (gas: 1699882) ERC6551Test:testOnERC721Received() (gas: 1738866) ERC6551Test:testOnERC721ReceivedCycles() (gas: 2914176) -ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 256, μ: 450808, ~: 455681) -ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 256, μ: 1384397, ~: 1384402) +ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 257, μ: 451378, ~: 455763) +ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 257, μ: 1386809, ~: 1386816) ERC6551Test:testSupportsInterface() (gas: 169450) -ERC6551Test:testUpdateState(uint256) (runs: 256, μ: 235251, ~: 235153) +ERC6551Test:testUpdateState(uint256) (runs: 257, μ: 235266, ~: 235225) ERC6551Test:testUpgrade() (gas: 248478) -ERC6551Test:test__codesize() (gas: 52510) +ERC6551Test:test__codesize() (gas: 52534) ERC6909Test:testApprove() (gas: 36872) -ERC6909Test:testApprove(address,uint256,uint256) (runs: 256, μ: 37436, ~: 37514) +ERC6909Test:testApprove(address,uint256,uint256) (runs: 257, μ: 37436, ~: 37514) ERC6909Test:testBurn() (gas: 40870) -ERC6909Test:testBurn(address,uint256,uint256,uint256) (runs: 256, μ: 40604, ~: 41381) -ERC6909Test:testBurnInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 256, μ: 35086, ~: 35166) +ERC6909Test:testBurn(address,uint256,uint256,uint256) (runs: 257, μ: 40608, ~: 41381) +ERC6909Test:testBurnInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 257, μ: 35086, ~: 35166) ERC6909Test:testDecimals() (gas: 5676) ERC6909Test:testDirectApprove() (gas: 36737) -ERC6909Test:testDirectFunctions(uint256) (runs: 256, μ: 201991, ~: 202014) +ERC6909Test:testDirectFunctions(uint256) (runs: 257, μ: 202189, ~: 202015) ERC6909Test:testDirectSetOperator() (gas: 35937) ERC6909Test:testDirectTransfer() (gas: 66221) ERC6909Test:testInfiniteApproveTransferFrom() (gas: 78590) -ERC6909Test:testMetadata(uint256) (runs: 256, μ: 8257, ~: 8257) +ERC6909Test:testMetadata(uint256) (runs: 257, μ: 8257, ~: 8257) ERC6909Test:testMint() (gas: 37035) -ERC6909Test:testMint(address,uint256,uint256) (runs: 256, μ: 37193, ~: 37271) +ERC6909Test:testMint(address,uint256,uint256) (runs: 257, μ: 37193, ~: 37271) ERC6909Test:testMintOverMaxUintReverts() (gas: 34604) -ERC6909Test:testMintOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 256, μ: 35526, ~: 35542) +ERC6909Test:testMintOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 257, μ: 35526, ~: 35542) ERC6909Test:testOperatorTransferFrom() (gas: 74112) ERC6909Test:testSetOperator() (gas: 37139) -ERC6909Test:testSetOperator(address,address,bool) (runs: 256, μ: 26406, ~: 16767) +ERC6909Test:testSetOperator(address,address,bool) (runs: 257, μ: 26445, ~: 16767) ERC6909Test:testTokenURI() (gas: 32671) ERC6909Test:testTransfer() (gas: 48262) -ERC6909Test:testTransfer(address,uint256,uint256) (runs: 256, μ: 47317, ~: 47396) +ERC6909Test:testTransfer(address,uint256,uint256) (runs: 257, μ: 47317, ~: 47395) ERC6909Test:testTransferFrom() (gas: 74676) -ERC6909Test:testTransferFrom(address,address,address,uint256,uint256,uint256) (runs: 256, μ: 79918, ~: 81173) -ERC6909Test:testTransferFromCallerIsNotOperator(address,uint256,uint256) (runs: 256, μ: 39606, ~: 39606) -ERC6909Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256,uint256) (runs: 256, μ: 67228, ~: 67771) +ERC6909Test:testTransferFrom(address,address,address,uint256,uint256,uint256) (runs: 257, μ: 79923, ~: 81173) +ERC6909Test:testTransferFromCallerIsNotOperator(address,uint256,uint256) (runs: 257, μ: 39606, ~: 39606) +ERC6909Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256,uint256) (runs: 257, μ: 67230, ~: 67771) ERC6909Test:testTransferFromInsufficientBalanceReverts() (gas: 49861) -ERC6909Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 256, μ: 50563, ~: 50100) +ERC6909Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 257, μ: 50560, ~: 50100) ERC6909Test:testTransferFromInsufficientPermission() (gas: 67246) ERC6909Test:testTransferFromOverMaxUintReverts() (gas: 90493) -ERC6909Test:testTransferFromOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 256, μ: 113363, ~: 113604) +ERC6909Test:testTransferFromOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 257, μ: 113364, ~: 113604) ERC6909Test:testTransferInsufficientBalanceReverts() (gas: 34728) -ERC6909Test:testTransferInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 256, μ: 34882, ~: 35270) +ERC6909Test:testTransferInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 257, μ: 34884, ~: 35270) ERC6909Test:testTransferOverMaxUintReverts() (gas: 63748) -ERC6909Test:testTransferOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 256, μ: 64314, ~: 64304) +ERC6909Test:testTransferOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 257, μ: 64314, ~: 64303) ERC6909Test:test__codesize() (gas: 25821) ERC721HooksTest:testERC721Hooks() (gas: 3195690) ERC721HooksTest:test__codesize() (gas: 10893) -ERC721Test:testApprove(uint256) (runs: 256, μ: 108292, ~: 108322) -ERC721Test:testApproveAll(uint256) (runs: 256, μ: 49665, ~: 40672) -ERC721Test:testApproveBurn(uint256) (runs: 256, μ: 86906, ~: 86905) -ERC721Test:testApproveNonExistentReverts(uint256,address) (runs: 256, μ: 33696, ~: 33624) -ERC721Test:testApproveUnauthorizedReverts(uint256) (runs: 256, μ: 83589, ~: 84389) -ERC721Test:testAuthorizedEquivalence(address,bool,bool) (runs: 256, μ: 684, ~: 678) -ERC721Test:testAux(uint256) (runs: 256, μ: 192663, ~: 191641) -ERC721Test:testBurn(uint256) (runs: 256, μ: 82632, ~: 93933) -ERC721Test:testBurnNonExistentReverts(uint256) (runs: 256, μ: 10805, ~: 10805) +ERC721Test:testApprove(uint256) (runs: 257, μ: 108292, ~: 108326) +ERC721Test:testApproveAll(uint256) (runs: 257, μ: 49707, ~: 40673) +ERC721Test:testApproveBurn(uint256) (runs: 257, μ: 86907, ~: 86911) +ERC721Test:testApproveNonExistentReverts(uint256,address) (runs: 257, μ: 33696, ~: 33624) +ERC721Test:testApproveUnauthorizedReverts(uint256) (runs: 257, μ: 83593, ~: 84389) +ERC721Test:testAuthorizedEquivalence(address,bool,bool) (runs: 257, μ: 684, ~: 678) +ERC721Test:testAux(uint256) (runs: 257, μ: 192669, ~: 191642) +ERC721Test:testBurn(uint256) (runs: 257, μ: 82685, ~: 94019) +ERC721Test:testBurnNonExistentReverts(uint256) (runs: 257, μ: 10805, ~: 10805) ERC721Test:testCannotExceedMaxBalance() (gas: 170165) -ERC721Test:testDoubleBurnReverts(uint256) (runs: 256, μ: 63605, ~: 63549) -ERC721Test:testDoubleMintReverts(uint256) (runs: 256, μ: 79272, ~: 79315) -ERC721Test:testEverything(uint256) (runs: 256, μ: 304993, ~: 302854) -ERC721Test:testExtraData(uint256) (runs: 256, μ: 99576, ~: 99544) -ERC721Test:testExtraData2(uint256,uint256) (runs: 256, μ: 53889, ~: 53889) -ERC721Test:testIsApprovedOrOwner(uint256) (runs: 256, μ: 136269, ~: 136262) -ERC721Test:testMint(uint256) (runs: 256, μ: 82908, ~: 82837) -ERC721Test:testMintAndSetExtraDataUnchecked(uint256) (runs: 256, μ: 84532, ~: 84462) -ERC721Test:testMintAndSetExtraDataUncheckedWithOverwrite(uint256,uint96) (runs: 256, μ: 83819, ~: 83731) -ERC721Test:testMintToZeroReverts(uint256) (runs: 256, μ: 39510, ~: 39510) -ERC721Test:testOwnerOfNonExistent(uint256) (runs: 256, μ: 33412, ~: 33472) -ERC721Test:testSafeMintToEOA(uint256) (runs: 256, μ: 83450, ~: 83432) -ERC721Test:testSafeMintToERC721Recipient(uint256) (runs: 256, μ: 409736, ~: 410055) -ERC721Test:testSafeMintToERC721RecipientWithData(uint256,bytes) (runs: 256, μ: 460362, ~: 453822) -ERC721Test:testSafeMintToERC721RecipientWithWrongReturnData(uint256) (runs: 256, μ: 170407, ~: 170407) -ERC721Test:testSafeMintToERC721RecipientWithWrongReturnDataWithData(uint256,bytes) (runs: 256, μ: 171612, ~: 171569) -ERC721Test:testSafeMintToNonERC721RecipientReverts(uint256) (runs: 256, μ: 100507, ~: 100507) -ERC721Test:testSafeMintToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 256, μ: 101744, ~: 101701) -ERC721Test:testSafeMintToRevertingERC721RecipientReverts(uint256) (runs: 256, μ: 203343, ~: 203343) -ERC721Test:testSafeMintToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 256, μ: 204569, ~: 204526) -ERC721Test:testSafeTransferFromToEOA(uint256) (runs: 256, μ: 122382, ~: 122569) -ERC721Test:testSafeTransferFromToERC721Recipient(uint256) (runs: 256, μ: 471833, ~: 472128) -ERC721Test:testSafeTransferFromToERC721RecipientWithData(uint256,bytes) (runs: 256, μ: 522447, ~: 516005) -ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataReverts(uint256) (runs: 256, μ: 201619, ~: 201573) -ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataWithDataReverts(uint256,bytes) (runs: 256, μ: 202923, ~: 202902) -ERC721Test:testSafeTransferFromToNonERC721RecipientReverts(uint256) (runs: 256, μ: 131728, ~: 131764) -ERC721Test:testSafeTransferFromToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 256, μ: 133033, ~: 133013) -ERC721Test:testSafeTransferFromToRevertingERC721RecipientReverts(uint256) (runs: 256, μ: 234590, ~: 234627) -ERC721Test:testSafeTransferFromToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 256, μ: 235813, ~: 235794) -ERC721Test:testSafetyOfCustomStorage(uint256,uint256) (runs: 256, μ: 713, ~: 713) +ERC721Test:testDoubleBurnReverts(uint256) (runs: 257, μ: 63605, ~: 63550) +ERC721Test:testDoubleMintReverts(uint256) (runs: 257, μ: 79272, ~: 79311) +ERC721Test:testEverything(uint256) (runs: 257, μ: 304508, ~: 302846) +ERC721Test:testExtraData(uint256) (runs: 257, μ: 99572, ~: 99532) +ERC721Test:testExtraData2(uint256,uint256) (runs: 257, μ: 53889, ~: 53889) +ERC721Test:testIsApprovedOrOwner(uint256) (runs: 257, μ: 136268, ~: 136261) +ERC721Test:testMint(uint256) (runs: 257, μ: 82907, ~: 82837) +ERC721Test:testMintAndSetExtraDataUnchecked(uint256) (runs: 257, μ: 84532, ~: 84462) +ERC721Test:testMintAndSetExtraDataUncheckedWithOverwrite(uint256,uint96) (runs: 257, μ: 83819, ~: 83731) +ERC721Test:testMintToZeroReverts(uint256) (runs: 257, μ: 39510, ~: 39510) +ERC721Test:testOwnerOfNonExistent(uint256) (runs: 257, μ: 33412, ~: 33472) +ERC721Test:testSafeMintToEOA(uint256) (runs: 257, μ: 83451, ~: 83488) +ERC721Test:testSafeMintToERC721Recipient(uint256) (runs: 257, μ: 409738, ~: 410055) +ERC721Test:testSafeMintToERC721RecipientWithData(uint256,bytes) (runs: 257, μ: 460513, ~: 453822) +ERC721Test:testSafeMintToERC721RecipientWithWrongReturnData(uint256) (runs: 257, μ: 170407, ~: 170407) +ERC721Test:testSafeMintToERC721RecipientWithWrongReturnDataWithData(uint256,bytes) (runs: 257, μ: 171613, ~: 171569) +ERC721Test:testSafeMintToNonERC721RecipientReverts(uint256) (runs: 257, μ: 100507, ~: 100507) +ERC721Test:testSafeMintToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 257, μ: 101745, ~: 101701) +ERC721Test:testSafeMintToRevertingERC721RecipientReverts(uint256) (runs: 257, μ: 203343, ~: 203343) +ERC721Test:testSafeMintToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 257, μ: 204570, ~: 204526) +ERC721Test:testSafeTransferFromToEOA(uint256) (runs: 257, μ: 122383, ~: 122570) +ERC721Test:testSafeTransferFromToERC721Recipient(uint256) (runs: 257, μ: 471835, ~: 472128) +ERC721Test:testSafeTransferFromToERC721RecipientWithData(uint256,bytes) (runs: 257, μ: 522599, ~: 516005) +ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataReverts(uint256) (runs: 257, μ: 201619, ~: 201573) +ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataWithDataReverts(uint256,bytes) (runs: 257, μ: 202923, ~: 202903) +ERC721Test:testSafeTransferFromToNonERC721RecipientReverts(uint256) (runs: 257, μ: 131727, ~: 131764) +ERC721Test:testSafeTransferFromToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 257, μ: 133034, ~: 133013) +ERC721Test:testSafeTransferFromToRevertingERC721RecipientReverts(uint256) (runs: 257, μ: 234590, ~: 234627) +ERC721Test:testSafeTransferFromToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 257, μ: 235813, ~: 235794) +ERC721Test:testSafetyOfCustomStorage(uint256,uint256) (runs: 257, μ: 713, ~: 713) ERC721Test:testTransferFrom() (gas: 86013) -ERC721Test:testTransferFrom(uint256) (runs: 256, μ: 114435, ~: 113050) -ERC721Test:testTransferFromApproveAll(uint256) (runs: 256, μ: 119775, ~: 119795) -ERC721Test:testTransferFromNotExistentReverts(address,address,uint256) (runs: 256, μ: 34280, ~: 34275) -ERC721Test:testTransferFromNotOwner(uint256) (runs: 256, μ: 85065, ~: 85046) -ERC721Test:testTransferFromSelf(uint256) (runs: 256, μ: 93024, ~: 93045) -ERC721Test:testTransferFromToZeroReverts(uint256) (runs: 256, μ: 63086, ~: 63084) -ERC721Test:testTransferFromWrongFromReverts(address,uint256) (runs: 256, μ: 80782, ~: 80775) +ERC721Test:testTransferFrom(uint256) (runs: 257, μ: 114469, ~: 113054) +ERC721Test:testTransferFromApproveAll(uint256) (runs: 257, μ: 119776, ~: 119795) +ERC721Test:testTransferFromNotExistentReverts(address,address,uint256) (runs: 257, μ: 34280, ~: 34275) +ERC721Test:testTransferFromNotOwner(uint256) (runs: 257, μ: 85065, ~: 85037) +ERC721Test:testTransferFromSelf(uint256) (runs: 257, μ: 93023, ~: 93041) +ERC721Test:testTransferFromToZeroReverts(uint256) (runs: 257, μ: 63087, ~: 63085) +ERC721Test:testTransferFromWrongFromReverts(address,uint256) (runs: 257, μ: 80782, ~: 80775) ERC721Test:test__codesize() (gas: 43024) EfficientHashLibTest:testEfficientHash() (gas: 7544) -EfficientHashLibTest:testEfficientHash(uint256) (runs: 256, μ: 7615, ~: 7615) +EfficientHashLibTest:testEfficientHash(uint256) (runs: 257, μ: 7615, ~: 7615) EfficientHashLibTest:testEfficientHashFree() (gas: 372) -EfficientHashLibTest:testEfficientHashFree(uint8,bool,uint8) (runs: 256, μ: 976, ~: 822) +EfficientHashLibTest:testEfficientHashFree(uint8,bool,uint8) (runs: 257, μ: 979, ~: 822) EfficientHashLibTest:testEfficientHashSet() (gas: 2034) EfficientHashLibTest:testEfficientHashUints() (gas: 6658) EfficientHashLibTest:test__codesize() (gas: 4730) EnumerableSetLibTest:testEnumerableAddressSetBasic() (gas: 248436) EnumerableSetLibTest:testEnumerableAddressSetBasic2() (gas: 175344) EnumerableSetLibTest:testEnumerableAddressSetNoStorageCollision() (gas: 98950) -EnumerableSetLibTest:testEnumerableAddressSetRevertsOnSentinel(uint256) (runs: 256, μ: 48535, ~: 39811) +EnumerableSetLibTest:testEnumerableAddressSetRevertsOnSentinel(uint256) (runs: 257, μ: 48562, ~: 39882) EnumerableSetLibTest:testEnumerableBytes32SetBasic() (gas: 271282) EnumerableSetLibTest:testEnumerableBytes32SetBasic2() (gas: 178471) EnumerableSetLibTest:testEnumerableBytes32SetNoStorageCollision() (gas: 103477) -EnumerableSetLibTest:testEnumerableBytes32SetRevertsOnSentinel(uint256) (runs: 256, μ: 47977, ~: 39771) -EnumerableSetLibTest:testEnumerableSetFuzz(uint256) (runs: 256, μ: 660400, ~: 528080) +EnumerableSetLibTest:testEnumerableBytes32SetRevertsOnSentinel(uint256) (runs: 257, μ: 47983, ~: 39822) +EnumerableSetLibTest:testEnumerableSetFuzz(uint256) (runs: 257, μ: 658069, ~: 526856) EnumerableSetLibTest:test__codesize() (gas: 14493) FixedPointMathLibTest:testAbs() (gas: 680) -FixedPointMathLibTest:testAbs(int256) (runs: 256, μ: 533, ~: 501) +FixedPointMathLibTest:testAbs(int256) (runs: 257, μ: 533, ~: 501) FixedPointMathLibTest:testAbsEdgeCases() (gas: 469) FixedPointMathLibTest:testAvg() (gas: 443) FixedPointMathLibTest:testAvgEdgeCase() (gas: 470) FixedPointMathLibTest:testAvgSigned() (gas: 900) FixedPointMathLibTest:testCbrt() (gas: 10306) -FixedPointMathLibTest:testCbrt(uint256) (runs: 256, μ: 1499, ~: 1513) -FixedPointMathLibTest:testCbrtBack(uint256) (runs: 256, μ: 34573, ~: 42632) +FixedPointMathLibTest:testCbrt(uint256) (runs: 257, μ: 1499, ~: 1513) +FixedPointMathLibTest:testCbrtBack(uint256) (runs: 257, μ: 34583, ~: 42311) FixedPointMathLibTest:testCbrtWad() (gas: 12349) -FixedPointMathLibTest:testCbrtWad(uint256) (runs: 256, μ: 2228, ~: 1973) +FixedPointMathLibTest:testCbrtWad(uint256) (runs: 257, μ: 2227, ~: 1973) FixedPointMathLibTest:testCbrtWadConverged() (gas: 2729) -FixedPointMathLibTest:testCbrtWadConverged(uint256) (runs: 256, μ: 2196, ~: 2250) +FixedPointMathLibTest:testCbrtWadConverged(uint256) (runs: 257, μ: 2196, ~: 2250) FixedPointMathLibTest:testCbrtWadDebug() (gas: 7361) FixedPointMathLibTest:testCbrtWadMonotonicallyIncreasing() (gas: 4700) -FixedPointMathLibTest:testCbrtWadMonotonicallyIncreasing(uint256,uint256) (runs: 256, μ: 3256, ~: 2381) -FixedPointMathLibTest:testClamp(uint256,uint256,uint256) (runs: 256, μ: 591, ~: 591) -FixedPointMathLibTest:testClampSigned(int256,int256,int256) (runs: 256, μ: 611, ~: 611) +FixedPointMathLibTest:testCbrtWadMonotonicallyIncreasing(uint256,uint256) (runs: 257, μ: 3256, ~: 2381) +FixedPointMathLibTest:testClamp(uint256,uint256,uint256) (runs: 257, μ: 591, ~: 591) +FixedPointMathLibTest:testClampSigned(int256,int256,int256) (runs: 257, μ: 611, ~: 611) FixedPointMathLibTest:testDist() (gas: 656) -FixedPointMathLibTest:testDist(int256,int256) (runs: 256, μ: 542, ~: 547) +FixedPointMathLibTest:testDist(int256,int256) (runs: 257, μ: 542, ~: 547) FixedPointMathLibTest:testDistEdgeCases() (gas: 548) FixedPointMathLibTest:testDivWad() (gas: 725) -FixedPointMathLibTest:testDivWad(uint256,uint256) (runs: 256, μ: 784, ~: 869) +FixedPointMathLibTest:testDivWad(uint256,uint256) (runs: 257, μ: 784, ~: 869) FixedPointMathLibTest:testDivWadEdgeCases() (gas: 414) FixedPointMathLibTest:testDivWadOverflowReverts(uint256,uint256) (runs: 256, μ: 3771, ~: 3771) FixedPointMathLibTest:testDivWadUp() (gas: 3129) -FixedPointMathLibTest:testDivWadUp(uint256,uint256) (runs: 256, μ: 904, ~: 1009) +FixedPointMathLibTest:testDivWadUp(uint256,uint256) (runs: 257, μ: 904, ~: 1009) FixedPointMathLibTest:testDivWadUpEdgeCases() (gas: 483) FixedPointMathLibTest:testDivWadUpOverflowReverts(uint256,uint256) (runs: 256, μ: 3770, ~: 3770) FixedPointMathLibTest:testDivWadUpZeroDenominatorReverts() (gas: 3239) -FixedPointMathLibTest:testDivWadUpZeroDenominatorReverts(uint256) (runs: 256, μ: 3273, ~: 3273) +FixedPointMathLibTest:testDivWadUpZeroDenominatorReverts(uint256) (runs: 257, μ: 3273, ~: 3273) FixedPointMathLibTest:testDivWadZeroDenominatorReverts() (gas: 3262) -FixedPointMathLibTest:testDivWadZeroDenominatorReverts(uint256) (runs: 256, μ: 3315, ~: 3315) +FixedPointMathLibTest:testDivWadZeroDenominatorReverts(uint256) (runs: 257, μ: 3315, ~: 3315) FixedPointMathLibTest:testExpWad() (gas: 8047) FixedPointMathLibTest:testFactorial() (gas: 98469) FixedPointMathLibTest:testFactorialOriginal() (gas: 94187) FixedPointMathLibTest:testFullMulDiv() (gas: 1106) -FixedPointMathLibTest:testFullMulDiv(uint256,uint256,uint256) (runs: 256, μ: 1390, ~: 983) -FixedPointMathLibTest:testFullMulDivAlwaysRevertsIfDivisorIsZero(uint256,uint256) (runs: 256, μ: 3456, ~: 3456) +FixedPointMathLibTest:testFullMulDiv(uint256,uint256,uint256) (runs: 257, μ: 1388, ~: 983) +FixedPointMathLibTest:testFullMulDivAlwaysRevertsIfDivisorIsZero(uint256,uint256) (runs: 257, μ: 3456, ~: 3456) FixedPointMathLibTest:testFullMulDivUnchecked() (gas: 1613) -FixedPointMathLibTest:testFullMulDivUnchecked(uint256,uint256,uint256) (runs: 256, μ: 1672, ~: 1565) -FixedPointMathLibTest:testFullMulDivUp(uint256,uint256,uint256) (runs: 256, μ: 1724, ~: 1405) +FixedPointMathLibTest:testFullMulDivUnchecked(uint256,uint256,uint256) (runs: 257, μ: 1672, ~: 1565) +FixedPointMathLibTest:testFullMulDivUp(uint256,uint256,uint256) (runs: 257, μ: 1723, ~: 1405) FixedPointMathLibTest:testFullMulDivUpRevertsIfRoundedUpResultOverflowsCase1() (gas: 3694) FixedPointMathLibTest:testFullMulDivUpRevertsIfRoundedUpResultOverflowsCase2() (gas: 3727) FixedPointMathLibTest:testGcd() (gas: 4206) -FixedPointMathLibTest:testGcd(uint256,uint256) (runs: 256, μ: 6737, ~: 3170) +FixedPointMathLibTest:testGcd(uint256,uint256) (runs: 257, μ: 6731, ~: 3170) FixedPointMathLibTest:testLambertW0WadAccuracy() (gas: 7160) -FixedPointMathLibTest:testLambertW0WadAccuracy(uint184) (runs: 256, μ: 2186, ~: 409) +FixedPointMathLibTest:testLambertW0WadAccuracy(uint184) (runs: 257, μ: 2179, ~: 409) FixedPointMathLibTest:testLambertW0WadKnownValues() (gas: 1685570) FixedPointMathLibTest:testLambertW0WadMonoDebug() (gas: 770645) FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasing() (gas: 18416531) -FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasing(int256,int256) (runs: 256, μ: 7299, ~: 6991) +FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasing(int256,int256) (runs: 257, μ: 7305, ~: 6993) FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasing2() (gas: 4035368) -FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasingAround(int256) (runs: 256, μ: 28204, ~: 35428) -FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasingAround2(uint96) (runs: 256, μ: 55299, ~: 17618) +FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasingAround(int256) (runs: 257, μ: 28220, ~: 35428) +FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasingAround2(uint96) (runs: 257, μ: 55152, ~: 17618) FixedPointMathLibTest:testLambertW0WadRevertsForOutOfDomain() (gas: 16586) FixedPointMathLibTest:testLambertW0WadWithinBounds() (gas: 122061) -FixedPointMathLibTest:testLambertW0WadWithinBounds(int256) (runs: 256, μ: 3494, ~: 4962) +FixedPointMathLibTest:testLambertW0WadWithinBounds(int256) (runs: 257, μ: 3491, ~: 4962) FixedPointMathLibTest:testLerpInt() (gas: 6461) -FixedPointMathLibTest:testLerpInt(int256,int256,int256,int256,int256) (runs: 256, μ: 1651, ~: 1176) +FixedPointMathLibTest:testLerpInt(int256,int256,int256,int256,int256) (runs: 257, μ: 1649, ~: 1176) FixedPointMathLibTest:testLerpUint() (gas: 6420) -FixedPointMathLibTest:testLerpUint(uint256,uint256,uint256,uint256,uint256) (runs: 256, μ: 1131, ~: 841) +FixedPointMathLibTest:testLerpUint(uint256,uint256,uint256,uint256,uint256) (runs: 257, μ: 1131, ~: 841) FixedPointMathLibTest:testLnWad() (gas: 2032) FixedPointMathLibTest:testLnWadBig() (gas: 2087) FixedPointMathLibTest:testLnWadNegativeReverts() (gas: 3341) FixedPointMathLibTest:testLnWadOverflowReverts() (gas: 3359) FixedPointMathLibTest:testLnWadSmall() (gas: 2644) FixedPointMathLibTest:testLog10() (gas: 76212) -FixedPointMathLibTest:testLog10(uint256,uint256) (runs: 256, μ: 2185, ~: 2210) +FixedPointMathLibTest:testLog10(uint256,uint256) (runs: 257, μ: 2185, ~: 2210) FixedPointMathLibTest:testLog10Up() (gas: 4435) FixedPointMathLibTest:testLog2() (gas: 243209) FixedPointMathLibTest:testLog256() (gas: 22809) -FixedPointMathLibTest:testLog256(uint256,uint256) (runs: 256, μ: 2096, ~: 2151) +FixedPointMathLibTest:testLog256(uint256,uint256) (runs: 257, μ: 2096, ~: 2151) FixedPointMathLibTest:testLog256Up() (gas: 1271) -FixedPointMathLibTest:testLog2Differential(uint256) (runs: 256, μ: 913, ~: 909) +FixedPointMathLibTest:testLog2Differential(uint256) (runs: 257, μ: 913, ~: 909) FixedPointMathLibTest:testLog2Up() (gas: 297346) -FixedPointMathLibTest:testMax(uint256,uint256) (runs: 256, μ: 540, ~: 545) -FixedPointMathLibTest:testMaxCasted(uint32,uint32,uint256) (runs: 256, μ: 869, ~: 874) -FixedPointMathLibTest:testMaxSigned(int256,int256) (runs: 256, μ: 519, ~: 515) -FixedPointMathLibTest:testMin(uint256,uint256) (runs: 256, μ: 476, ~: 472) -FixedPointMathLibTest:testMinBrutalized(uint256,uint256) (runs: 256, μ: 872, ~: 863) -FixedPointMathLibTest:testMinSigned(int256,int256) (runs: 256, μ: 541, ~: 546) +FixedPointMathLibTest:testMax(uint256,uint256) (runs: 257, μ: 540, ~: 545) +FixedPointMathLibTest:testMaxCasted(uint32,uint32,uint256) (runs: 257, μ: 869, ~: 874) +FixedPointMathLibTest:testMaxSigned(int256,int256) (runs: 257, μ: 519, ~: 515) +FixedPointMathLibTest:testMin(uint256,uint256) (runs: 257, μ: 476, ~: 472) +FixedPointMathLibTest:testMinBrutalized(uint256,uint256) (runs: 257, μ: 872, ~: 863) +FixedPointMathLibTest:testMinSigned(int256,int256) (runs: 257, μ: 541, ~: 546) FixedPointMathLibTest:testMulDiv() (gas: 1868) -FixedPointMathLibTest:testMulDiv(uint256,uint256,uint256) (runs: 256, μ: 1646, ~: 858) +FixedPointMathLibTest:testMulDiv(uint256,uint256,uint256) (runs: 257, μ: 1643, ~: 858) FixedPointMathLibTest:testMulDivEdgeCases() (gas: 762) FixedPointMathLibTest:testMulDivOverflowReverts(uint256,uint256,uint256) (runs: 256, μ: 3847, ~: 3847) FixedPointMathLibTest:testMulDivUp() (gas: 2148) -FixedPointMathLibTest:testMulDivUp(uint256,uint256,uint256) (runs: 256, μ: 1820, ~: 1121) +FixedPointMathLibTest:testMulDivUp(uint256,uint256,uint256) (runs: 257, μ: 1818, ~: 1121) FixedPointMathLibTest:testMulDivUpEdgeCases() (gas: 840) FixedPointMathLibTest:testMulDivUpOverflowReverts(uint256,uint256,uint256) (runs: 256, μ: 3902, ~: 3902) FixedPointMathLibTest:testMulDivUpZeroDenominator() (gas: 3234) -FixedPointMathLibTest:testMulDivUpZeroDenominatorReverts(uint256,uint256) (runs: 256, μ: 3335, ~: 3335) +FixedPointMathLibTest:testMulDivUpZeroDenominatorReverts(uint256,uint256) (runs: 257, μ: 3335, ~: 3335) FixedPointMathLibTest:testMulDivZeroDenominatorReverts() (gas: 3256) -FixedPointMathLibTest:testMulDivZeroDenominatorReverts(uint256,uint256) (runs: 256, μ: 3380, ~: 3380) +FixedPointMathLibTest:testMulDivZeroDenominatorReverts(uint256,uint256) (runs: 257, μ: 3380, ~: 3380) FixedPointMathLibTest:testMulWad() (gas: 714) -FixedPointMathLibTest:testMulWad(uint256,uint256) (runs: 256, μ: 725, ~: 855) +FixedPointMathLibTest:testMulWad(uint256,uint256) (runs: 257, μ: 726, ~: 855) FixedPointMathLibTest:testMulWadEdgeCases() (gas: 737) FixedPointMathLibTest:testMulWadOverflowReverts(uint256,uint256) (runs: 256, μ: 3769, ~: 3769) FixedPointMathLibTest:testMulWadUp() (gas: 815) -FixedPointMathLibTest:testMulWadUp(uint256,uint256) (runs: 256, μ: 845, ~: 1043) +FixedPointMathLibTest:testMulWadUp(uint256,uint256) (runs: 257, μ: 846, ~: 1043) FixedPointMathLibTest:testMulWadUpEdgeCases() (gas: 793) FixedPointMathLibTest:testMulWadUpOverflowReverts(uint256,uint256) (runs: 256, μ: 3834, ~: 3834) FixedPointMathLibTest:testPackUnpackSci() (gas: 129327) -FixedPointMathLibTest:testPackUnpackSci(uint256) (runs: 256, μ: 30158, ~: 30147) +FixedPointMathLibTest:testPackUnpackSci(uint256) (runs: 257, μ: 30159, ~: 30149) FixedPointMathLibTest:testRPow() (gas: 3298) FixedPointMathLibTest:testRPowOverflowReverts() (gas: 4974) -FixedPointMathLibTest:testRawAdd(int256,int256) (runs: 256, μ: 462, ~: 462) -FixedPointMathLibTest:testRawAdd(uint256,uint256) (runs: 256, μ: 463, ~: 463) -FixedPointMathLibTest:testRawAddMod(uint256,uint256,uint256) (runs: 256, μ: 577, ~: 577) -FixedPointMathLibTest:testRawDiv(uint256,uint256) (runs: 256, μ: 466, ~: 466) -FixedPointMathLibTest:testRawMod(uint256,uint256) (runs: 256, μ: 464, ~: 464) -FixedPointMathLibTest:testRawMul(int256,int256) (runs: 256, μ: 412, ~: 412) -FixedPointMathLibTest:testRawMul(uint256,uint256) (runs: 256, μ: 485, ~: 485) -FixedPointMathLibTest:testRawMulMod(uint256,uint256,uint256) (runs: 256, μ: 579, ~: 579) -FixedPointMathLibTest:testRawSDiv(int256,int256) (runs: 256, μ: 443, ~: 443) -FixedPointMathLibTest:testRawSMod(int256,int256) (runs: 256, μ: 466, ~: 466) -FixedPointMathLibTest:testRawSub(int256,int256) (runs: 256, μ: 441, ~: 441) -FixedPointMathLibTest:testRawSub(uint256,uint256) (runs: 256, μ: 463, ~: 463) +FixedPointMathLibTest:testRawAdd(int256,int256) (runs: 257, μ: 462, ~: 462) +FixedPointMathLibTest:testRawAdd(uint256,uint256) (runs: 257, μ: 463, ~: 463) +FixedPointMathLibTest:testRawAddMod(uint256,uint256,uint256) (runs: 257, μ: 577, ~: 577) +FixedPointMathLibTest:testRawDiv(uint256,uint256) (runs: 257, μ: 466, ~: 466) +FixedPointMathLibTest:testRawMod(uint256,uint256) (runs: 257, μ: 464, ~: 464) +FixedPointMathLibTest:testRawMul(int256,int256) (runs: 257, μ: 412, ~: 412) +FixedPointMathLibTest:testRawMul(uint256,uint256) (runs: 257, μ: 485, ~: 485) +FixedPointMathLibTest:testRawMulMod(uint256,uint256,uint256) (runs: 257, μ: 579, ~: 579) +FixedPointMathLibTest:testRawSDiv(int256,int256) (runs: 257, μ: 443, ~: 443) +FixedPointMathLibTest:testRawSMod(int256,int256) (runs: 257, μ: 466, ~: 466) +FixedPointMathLibTest:testRawSub(int256,int256) (runs: 257, μ: 441, ~: 441) +FixedPointMathLibTest:testRawSub(uint256,uint256) (runs: 257, μ: 463, ~: 463) FixedPointMathLibTest:testSDivWad() (gas: 894) -FixedPointMathLibTest:testSDivWad(int256,int256) (runs: 256, μ: 846, ~: 971) +FixedPointMathLibTest:testSDivWad(int256,int256) (runs: 257, μ: 847, ~: 971) FixedPointMathLibTest:testSDivWadEdgeCases() (gas: 422) FixedPointMathLibTest:testSDivWadOverflowReverts(int256,int256) (runs: 256, μ: 3781, ~: 3781) -FixedPointMathLibTest:testSDivWadZeroDenominatorReverts(int256) (runs: 256, μ: 3330, ~: 3330) +FixedPointMathLibTest:testSDivWadZeroDenominatorReverts(int256) (runs: 257, μ: 3330, ~: 3330) FixedPointMathLibTest:testSMulWad() (gas: 1010) -FixedPointMathLibTest:testSMulWad(int256,int256) (runs: 256, μ: 848, ~: 1025) +FixedPointMathLibTest:testSMulWad(int256,int256) (runs: 257, μ: 849, ~: 1025) FixedPointMathLibTest:testSMulWadEdgeCases() (gas: 1309) FixedPointMathLibTest:testSMulWadOverflowRevertsOnCondition1(int256,int256) (runs: 256, μ: 3820, ~: 3820) -FixedPointMathLibTest:testSMulWadOverflowRevertsOnCondition2(int256) (runs: 256, μ: 3729, ~: 3729) -FixedPointMathLibTest:testSMulWadOverflowTrickDifferential(int256,int256) (runs: 256, μ: 621, ~: 632) +FixedPointMathLibTest:testSMulWadOverflowRevertsOnCondition2(int256) (runs: 257, μ: 3729, ~: 3729) +FixedPointMathLibTest:testSMulWadOverflowTrickDifferential(int256,int256) (runs: 257, μ: 621, ~: 632) FixedPointMathLibTest:testSci() (gas: 1838614) -FixedPointMathLibTest:testSci(uint256) (runs: 256, μ: 34790, ~: 40023) -FixedPointMathLibTest:testSci2(uint256) (runs: 256, μ: 935, ~: 933) +FixedPointMathLibTest:testSci(uint256) (runs: 257, μ: 34818, ~: 40023) +FixedPointMathLibTest:testSci2(uint256) (runs: 257, μ: 935, ~: 933) FixedPointMathLibTest:testSqrt() (gas: 43776) -FixedPointMathLibTest:testSqrt(uint256) (runs: 256, μ: 1046, ~: 1054) -FixedPointMathLibTest:testSqrtBack(uint256) (runs: 256, μ: 10065, ~: 386) -FixedPointMathLibTest:testSqrtHashed(uint256) (runs: 256, μ: 54685, ~: 55063) +FixedPointMathLibTest:testSqrt(uint256) (runs: 257, μ: 1046, ~: 1054) +FixedPointMathLibTest:testSqrtBack(uint256) (runs: 257, μ: 10028, ~: 386) +FixedPointMathLibTest:testSqrtHashed(uint256) (runs: 257, μ: 54681, ~: 55063) FixedPointMathLibTest:testSqrtHashedSingle() (gas: 54610) FixedPointMathLibTest:testSqrtWad() (gas: 7981) -FixedPointMathLibTest:testSqrtWad(uint256) (runs: 256, μ: 1655, ~: 1580) -FixedPointMathLibTest:testSqrtWadConverged(uint256) (runs: 256, μ: 1952, ~: 1984) -FixedPointMathLibTest:testSqrtWadMonotonicallyIncreasing(uint256,uint256) (runs: 256, μ: 2167, ~: 1825) -FixedPointMathLibTest:testTernary(bool,uint256,uint256) (runs: 256, μ: 518, ~: 514) -FixedPointMathLibTest:testZeroFloorSub(uint256,uint256) (runs: 256, μ: 569, ~: 540) -FixedPointMathLibTest:testZeroFloorSubCasted(uint32,uint32,uint256) (runs: 256, μ: 926, ~: 890) +FixedPointMathLibTest:testSqrtWad(uint256) (runs: 257, μ: 1655, ~: 1580) +FixedPointMathLibTest:testSqrtWadConverged(uint256) (runs: 257, μ: 1952, ~: 1984) +FixedPointMathLibTest:testSqrtWadMonotonicallyIncreasing(uint256,uint256) (runs: 257, μ: 2166, ~: 1825) +FixedPointMathLibTest:testTernary(bool,uint256,uint256) (runs: 257, μ: 518, ~: 514) +FixedPointMathLibTest:testZeroFloorSub(uint256,uint256) (runs: 257, μ: 569, ~: 540) +FixedPointMathLibTest:testZeroFloorSubCasted(uint32,uint32,uint256) (runs: 257, μ: 926, ~: 890) FixedPointMathLibTest:test__codesize() (gas: 45539) GasBurnerLibTest:testBurnGas() (gas: 1700805) GasBurnerLibTest:test__codesize() (gas: 1189) InitializableTest:testDisableInitializers() (gas: 42010) InitializableTest:testInitializableConstructor() (gas: 691882) InitializableTest:testInitialize() (gas: 54688) -InitializableTest:testInitializeInititalizerTrick(bool,uint64,uint16) (runs: 256, μ: 791, ~: 791) -InitializableTest:testInitializeReinititalize(uint256) (runs: 256, μ: 95504, ~: 95964) -InitializableTest:testInitializeReinititalizerTrick(bool,uint64,uint64) (runs: 256, μ: 675, ~: 687) +InitializableTest:testInitializeInititalizerTrick(bool,uint64,uint16) (runs: 257, μ: 791, ~: 791) +InitializableTest:testInitializeReinititalize(uint256) (runs: 257, μ: 95590, ~: 95978) +InitializableTest:testInitializeReinititalizerTrick(bool,uint64,uint64) (runs: 257, μ: 674, ~: 687) InitializableTest:testOnlyInitializing() (gas: 10420) InitializableTest:test__codesize() (gas: 10406) -JSONParserLibTest:testDecodeEncodedStringDoesNotRevert(string) (runs: 256, μ: 57523, ~: 56354) +JSONParserLibTest:testDecodeEncodedStringDoesNotRevert(string) (runs: 257, μ: 57519, ~: 56354) JSONParserLibTest:testDecodeInvalidStringReverts() (gas: 172692) JSONParserLibTest:testDecodeString() (gas: 192954) JSONParserLibTest:testEmptyItem() (gas: 2913) @@ -572,9 +572,9 @@ JSONParserLibTest:testParseEmptyArrays() (gas: 499245) JSONParserLibTest:testParseEmptyObjects() (gas: 500206) JSONParserLibTest:testParseGas() (gas: 151909) JSONParserLibTest:testParseInt() (gas: 203956) -JSONParserLibTest:testParseInt(int256) (runs: 256, μ: 18746, ~: 17447) -JSONParserLibTest:testParseIntReverts(uint256) (runs: 256, μ: 55907, ~: 55896) -JSONParserLibTest:testParseIntTrick(uint256,bool) (runs: 256, μ: 528, ~: 532) +JSONParserLibTest:testParseInt(int256) (runs: 257, μ: 18736, ~: 17387) +JSONParserLibTest:testParseIntReverts(uint256) (runs: 257, μ: 55907, ~: 55896) +JSONParserLibTest:testParseIntTrick(uint256,bool) (runs: 257, μ: 528, ~: 532) JSONParserLibTest:testParseInvalidIntReverts() (gas: 210407) JSONParserLibTest:testParseInvalidNumberReverts() (gas: 4066057) JSONParserLibTest:testParseInvalidReverts() (gas: 8584964) @@ -590,146 +590,146 @@ JSONParserLibTest:testParseSimpleUintArray() (gas: 1175003) JSONParserLibTest:testParseSpecials() (gas: 260178) JSONParserLibTest:testParseString() (gas: 1236853) JSONParserLibTest:testParseUint() (gas: 95512) -JSONParserLibTest:testParseUint(uint256) (runs: 256, μ: 35421, ~: 31602) +JSONParserLibTest:testParseUint(uint256) (runs: 257, μ: 35407, ~: 31602) JSONParserLibTest:testParseUintFromHex() (gas: 1381018) -JSONParserLibTest:testParseValidObjectDoesNotRevert(string,string) (runs: 256, μ: 49781, ~: 48725) +JSONParserLibTest:testParseValidObjectDoesNotRevert(string,string) (runs: 257, μ: 49777, ~: 48726) JSONParserLibTest:test__codesize() (gas: 38015) LibBitTest:testAnd() (gas: 185887) -LibBitTest:testAnd(bool,bool) (runs: 256, μ: 632, ~: 634) -LibBitTest:testAutoClean(uint256,uint256) (runs: 256, μ: 468, ~: 468) -LibBitTest:testBoolToUint(bool) (runs: 256, μ: 485, ~: 485) +LibBitTest:testAnd(bool,bool) (runs: 257, μ: 632, ~: 634) +LibBitTest:testAutoClean(uint256,uint256) (runs: 257, μ: 468, ~: 468) +LibBitTest:testBoolToUint(bool) (runs: 257, μ: 485, ~: 485) LibBitTest:testCLZ() (gas: 297260) LibBitTest:testFFS() (gas: 152877) LibBitTest:testFLS() (gas: 245237) LibBitTest:testIsPo2() (gas: 57663) -LibBitTest:testIsPo2(uint256) (runs: 256, μ: 3499, ~: 1970) -LibBitTest:testIsPo2(uint8,uint8) (runs: 256, μ: 623, ~: 624) +LibBitTest:testIsPo2(uint256) (runs: 257, μ: 3494, ~: 2002) +LibBitTest:testIsPo2(uint8,uint8) (runs: 257, μ: 623, ~: 624) LibBitTest:testOr() (gas: 188733) -LibBitTest:testOr(bool,bool) (runs: 256, μ: 649, ~: 648) +LibBitTest:testOr(bool,bool) (runs: 257, μ: 649, ~: 648) LibBitTest:testPassInBool() (gas: 830) LibBitTest:testPopCount() (gas: 63738) -LibBitTest:testPopCount(uint256) (runs: 256, μ: 3641, ~: 2112) +LibBitTest:testPopCount(uint256) (runs: 257, μ: 3636, ~: 2144) LibBitTest:testReturnsBool() (gas: 779) LibBitTest:testReverseBits() (gas: 131521) -LibBitTest:testReverseBitsDifferential(uint256) (runs: 256, μ: 18724, ~: 18724) +LibBitTest:testReverseBitsDifferential(uint256) (runs: 257, μ: 18724, ~: 18724) LibBitTest:testReverseBytes() (gas: 12492) -LibBitTest:testReverseBytesDifferential(uint256) (runs: 256, μ: 2675, ~: 2675) +LibBitTest:testReverseBytesDifferential(uint256) (runs: 257, μ: 2675, ~: 2675) LibBitTest:test__codesize() (gas: 5767) LibBitmapTest:testBitmapClaimWithGetSet() (gas: 27155) LibBitmapTest:testBitmapClaimWithToggle() (gas: 17392) LibBitmapTest:testBitmapFindLastSet() (gas: 1300541) -LibBitmapTest:testBitmapFindLastSet(uint256,uint256) (runs: 256, μ: 76119, ~: 76094) +LibBitmapTest:testBitmapFindLastSet(uint256,uint256) (runs: 257, μ: 76118, ~: 76094) LibBitmapTest:testBitmapFindLastSet2() (gas: 23882) LibBitmapTest:testBitmapGet() (gas: 2513) -LibBitmapTest:testBitmapGet(uint256) (runs: 256, μ: 2586, ~: 2586) +LibBitmapTest:testBitmapGet(uint256) (runs: 257, μ: 2586, ~: 2586) LibBitmapTest:testBitmapPopCount() (gas: 750426) -LibBitmapTest:testBitmapPopCount(uint256,uint256,uint256) (runs: 256, μ: 207313, ~: 171118) +LibBitmapTest:testBitmapPopCount(uint256,uint256,uint256) (runs: 257, μ: 207551, ~: 171183) LibBitmapTest:testBitmapPopCountAcrossMultipleBuckets() (gas: 73611) LibBitmapTest:testBitmapPopCountWithinSingleBucket() (gas: 34054) LibBitmapTest:testBitmapSet() (gas: 22549) -LibBitmapTest:testBitmapSet(uint256) (runs: 256, μ: 22621, ~: 22621) -LibBitmapTest:testBitmapSetAndGet(uint256) (runs: 256, μ: 22655, ~: 22655) +LibBitmapTest:testBitmapSet(uint256) (runs: 257, μ: 22621, ~: 22621) +LibBitmapTest:testBitmapSetAndGet(uint256) (runs: 257, μ: 22655, ~: 22655) LibBitmapTest:testBitmapSetBatch() (gas: 3009999) LibBitmapTest:testBitmapSetBatchAcrossMultipleBuckets() (gas: 438393) LibBitmapTest:testBitmapSetBatchWithinSingleBucket() (gas: 389011) LibBitmapTest:testBitmapSetTo() (gas: 14292) -LibBitmapTest:testBitmapSetTo(uint256,bool,uint256) (runs: 256, μ: 12689, ~: 2888) -LibBitmapTest:testBitmapSetTo(uint256,uint256) (runs: 256, μ: 44500, ~: 49958) +LibBitmapTest:testBitmapSetTo(uint256,bool,uint256) (runs: 257, μ: 12651, ~: 2888) +LibBitmapTest:testBitmapSetTo(uint256,uint256) (runs: 257, μ: 44466, ~: 49958) LibBitmapTest:testBitmapToggle() (gas: 30828) -LibBitmapTest:testBitmapToggle(uint256,bool) (runs: 256, μ: 18909, ~: 23125) +LibBitmapTest:testBitmapToggle(uint256,bool) (runs: 257, μ: 18926, ~: 23125) LibBitmapTest:testBitmapUnset() (gas: 22528) -LibBitmapTest:testBitmapUnset(uint256) (runs: 256, μ: 14322, ~: 14337) +LibBitmapTest:testBitmapUnset(uint256) (runs: 257, μ: 14322, ~: 14337) LibBitmapTest:testBitmapUnsetBatch() (gas: 2991450) LibBitmapTest:testBitmapUnsetBatchAcrossMultipleBuckets() (gas: 438470) LibBitmapTest:testBitmapUnsetBatchWithinSingleBucket() (gas: 445869) LibBitmapTest:test__codesize() (gas: 7169) LibCloneTest:testClone() (gas: 72955) -LibCloneTest:testClone(uint256) (runs: 256, μ: 73027, ~: 73027) +LibCloneTest:testClone(uint256) (runs: 257, μ: 73027, ~: 73027) LibCloneTest:testCloneDeteministicWithImmutableArgs() (gas: 192023) -LibCloneTest:testCloneDeteministicWithImmutableArgs(address,uint256,uint256[],bytes,uint64,uint8,uint256) (runs: 256, μ: 1107789, ~: 1060433) +LibCloneTest:testCloneDeteministicWithImmutableArgs(address,uint256,uint256[],bytes,uint64,uint8,uint256) (runs: 257, μ: 1110143, ~: 1063747) LibCloneTest:testCloneDeterministic() (gas: 96960) -LibCloneTest:testCloneDeterministic(uint256,bytes32) (runs: 256, μ: 97029, ~: 97029) +LibCloneTest:testCloneDeterministic(uint256,bytes32) (runs: 257, μ: 97029, ~: 97029) LibCloneTest:testCloneDeterministicRevertsIfAddressAlreadyUsed() (gas: 96882842) LibCloneTest:testCloneWithImmutableArgs() (gas: 120864) -LibCloneTest:testCloneWithImmutableArgs(uint256,address,uint256,uint256[],uint64,uint8) (runs: 256, μ: 986589, ~: 972135) +LibCloneTest:testCloneWithImmutableArgs(uint256,address,uint256,uint256[],uint64,uint8) (runs: 257, μ: 985510, ~: 968628) LibCloneTest:testCloneWithImmutableArgsRevertsIfDataTooBig() (gas: 97305794) -LibCloneTest:testCreateDeterministicERC1967(uint256,bytes32) (runs: 256, μ: 125124, ~: 125124) -LibCloneTest:testCreateDeterministicERC1967BeaconProxy(uint256,bytes32) (runs: 256, μ: 327859, ~: 357211) -LibCloneTest:testCreateDeterministicERC1967I(uint256,bytes32) (runs: 256, μ: 129450, ~: 129450) +LibCloneTest:testCreateDeterministicERC1967(uint256,bytes32) (runs: 257, μ: 125124, ~: 125124) +LibCloneTest:testCreateDeterministicERC1967BeaconProxy(uint256,bytes32) (runs: 257, μ: 327732, ~: 357211) +LibCloneTest:testCreateDeterministicERC1967I(uint256,bytes32) (runs: 257, μ: 129450, ~: 129450) LibCloneTest:testDeployDeterministicERC1967() (gas: 123217) -LibCloneTest:testDeployDeterministicERC1967(uint256,bytes32) (runs: 256, μ: 123244, ~: 123244) -LibCloneTest:testDeployDeterministicERC1967BeaconProxy(uint256,bytes32) (runs: 256, μ: 323133, ~: 293312) +LibCloneTest:testDeployDeterministicERC1967(uint256,bytes32) (runs: 257, μ: 123244, ~: 123244) +LibCloneTest:testDeployDeterministicERC1967BeaconProxy(uint256,bytes32) (runs: 257, μ: 323017, ~: 293312) LibCloneTest:testDeployDeterministicERC1967I() (gas: 127555) -LibCloneTest:testDeployDeterministicERC1967I(uint256,bytes32) (runs: 256, μ: 127581, ~: 127581) +LibCloneTest:testDeployDeterministicERC1967I(uint256,bytes32) (runs: 257, μ: 127581, ~: 127581) LibCloneTest:testDeployERC1967() (gas: 99244) -LibCloneTest:testDeployERC1967(uint256) (runs: 256, μ: 99273, ~: 99273) -LibCloneTest:testDeployERC1967BeaconProxy(uint256) (runs: 256, μ: 300996, ~: 331327) -LibCloneTest:testDeployERC1967BeaconProxyCodeHashAndLength(address) (runs: 256, μ: 142512, ~: 142512) -LibCloneTest:testDeployERC1967CodeHashAndLength(address) (runs: 256, μ: 134051, ~: 134051) +LibCloneTest:testDeployERC1967(uint256) (runs: 257, μ: 99273, ~: 99273) +LibCloneTest:testDeployERC1967BeaconProxy(uint256) (runs: 257, μ: 301114, ~: 331327) +LibCloneTest:testDeployERC1967BeaconProxyCodeHashAndLength(address) (runs: 257, μ: 142512, ~: 142512) +LibCloneTest:testDeployERC1967CodeHashAndLength(address) (runs: 257, μ: 134051, ~: 134051) LibCloneTest:testDeployERC1967I() (gas: 103584) -LibCloneTest:testDeployERC1967I(uint256) (runs: 256, μ: 103633, ~: 103633) -LibCloneTest:testDeployERC1967ICodeHashAndLength(address) (runs: 256, μ: 142468, ~: 142468) +LibCloneTest:testDeployERC1967I(uint256) (runs: 257, μ: 103633, ~: 103633) +LibCloneTest:testDeployERC1967ICodeHashAndLength(address) (runs: 257, μ: 142468, ~: 142468) LibCloneTest:testDeployERC1967ISpecialPath() (gas: 71720) -LibCloneTest:testDeployERC1967ISpecialPath(address,bytes1) (runs: 256, μ: 72177, ~: 72255) -LibCloneTest:testERC1967BeaconProxyGasBehavior(uint256,uint256) (runs: 256, μ: 292973, ~: 304488) -LibCloneTest:testERC1967ConstantBootstrap(address,bytes32) (runs: 256, μ: 153649, ~: 142025) -LibCloneTest:testInitCode(address,uint256,uint256) (runs: 256, μ: 1017421, ~: 837839) +LibCloneTest:testDeployERC1967ISpecialPath(address,bytes1) (runs: 257, μ: 72177, ~: 72255) +LibCloneTest:testERC1967BeaconProxyGasBehavior(uint256,uint256) (runs: 257, μ: 293096, ~: 304564) +LibCloneTest:testERC1967ConstantBootstrap(address,bytes32) (runs: 257, μ: 153716, ~: 142026) +LibCloneTest:testInitCode(address,uint256,uint256) (runs: 257, μ: 1016727, ~: 837864) LibCloneTest:testInitialDeposit() (gas: 607508) -LibCloneTest:testStartsWith(uint256) (runs: 256, μ: 29426, ~: 29409) +LibCloneTest:testStartsWith(uint256) (runs: 257, μ: 29425, ~: 29409) LibCloneTest:test__codesize() (gas: 26859) -LibERC6551Test:testComputeAccountAddress(address,bytes32,uint256,address,uint256) (runs: 256, μ: 202644, ~: 29313) -LibERC6551Test:testContext(address,bytes32,uint256,address,uint256) (runs: 256, μ: 101980, ~: 101978) -LibERC6551Test:testInitCodeHash(address,bytes32,uint256,address,uint256) (runs: 256, μ: 185535, ~: 24234) -LibERC6551Test:testIsERC6551Account(address,bytes32,uint256,address,uint256) (runs: 256, μ: 111885, ~: 111982) +LibERC6551Test:testComputeAccountAddress(address,bytes32,uint256,address,uint256) (runs: 257, μ: 204463, ~: 29313) +LibERC6551Test:testContext(address,bytes32,uint256,address,uint256) (runs: 257, μ: 101980, ~: 101978) +LibERC6551Test:testInitCodeHash(address,bytes32,uint256,address,uint256) (runs: 257, μ: 184907, ~: 24234) +LibERC6551Test:testIsERC6551Account(address,bytes32,uint256,address,uint256) (runs: 257, μ: 111887, ~: 112003) LibERC6551Test:test__codesize() (gas: 6400) -LibMapTest:testFoundStatementDifferential(uint256,uint256,uint256) (runs: 256, μ: 499, ~: 499) +LibMapTest:testFoundStatementDifferential(uint256,uint256,uint256) (runs: 257, μ: 499, ~: 499) LibMapTest:testGeneralMapFunctionsGas() (gas: 3304775) -LibMapTest:testGeneralMapFunctionsWithSmallBitWidths(uint256) (runs: 256, μ: 82543, ~: 85809) +LibMapTest:testGeneralMapFunctionsWithSmallBitWidths(uint256) (runs: 257, μ: 82538, ~: 85786) LibMapTest:testGeneralMapFunctionsWithZeroBitWidth() (gas: 12260) -LibMapTest:testGeneralMapSearchSorted(uint256) (runs: 256, μ: 200039, ~: 129603) +LibMapTest:testGeneralMapSearchSorted(uint256) (runs: 257, μ: 199656, ~: 129320) LibMapTest:testMapGetFromBigArray() (gas: 3330) LibMapTest:testMapGetUint8() (gas: 3313) LibMapTest:testMapSetUint8() (gas: 23276) LibMapTest:testMapSetUint8FromBigArray() (gas: 23263) -LibMapTest:testUint128MapSearchSorted(uint256) (runs: 256, μ: 175227, ~: 131248) +LibMapTest:testUint128MapSearchSorted(uint256) (runs: 257, μ: 177432, ~: 131248) LibMapTest:testUint128MapSetAndGet() (gas: 1607245) -LibMapTest:testUint128MapSetAndGet(uint256) (runs: 256, μ: 171741, ~: 169428) -LibMapTest:testUint128MapSetAndGet2(uint256) (runs: 256, μ: 68582, ~: 69420) -LibMapTest:testUint16MapSearchSorted(uint256) (runs: 256, μ: 94556, ~: 86032) +LibMapTest:testUint128MapSetAndGet(uint256) (runs: 257, μ: 171645, ~: 169427) +LibMapTest:testUint128MapSetAndGet2(uint256) (runs: 257, μ: 68584, ~: 69420) +LibMapTest:testUint16MapSearchSorted(uint256) (runs: 257, μ: 94538, ~: 86043) LibMapTest:testUint16MapSetAndGet() (gas: 958193) -LibMapTest:testUint16MapSetAndGet(uint256) (runs: 256, μ: 81166, ~: 81233) -LibMapTest:testUint16MapSetAndGet2(uint256) (runs: 256, μ: 66770, ~: 69184) -LibMapTest:testUint32MapSearchSorted(uint256) (runs: 256, μ: 108578, ~: 86134) +LibMapTest:testUint16MapSetAndGet(uint256) (runs: 257, μ: 81166, ~: 81233) +LibMapTest:testUint16MapSetAndGet2(uint256) (runs: 257, μ: 66779, ~: 69185) +LibMapTest:testUint32MapSearchSorted(uint256) (runs: 257, μ: 108503, ~: 86140) LibMapTest:testUint32MapSetAndGet() (gas: 1067093) -LibMapTest:testUint32MapSetAndGet(uint256) (runs: 256, μ: 109631, ~: 103615) -LibMapTest:testUint32MapSetAndGet2(uint256) (runs: 256, μ: 66580, ~: 69140) -LibMapTest:testUint32Maps(uint256) (runs: 256, μ: 66577, ~: 72264) -LibMapTest:testUint40MapSearchSorted(uint256) (runs: 256, μ: 128332, ~: 108725) +LibMapTest:testUint32MapSetAndGet(uint256) (runs: 257, μ: 109692, ~: 103617) +LibMapTest:testUint32MapSetAndGet2(uint256) (runs: 257, μ: 66590, ~: 69140) +LibMapTest:testUint32Maps(uint256) (runs: 257, μ: 66600, ~: 72264) +LibMapTest:testUint40MapSearchSorted(uint256) (runs: 257, μ: 128276, ~: 108725) LibMapTest:testUint40MapSetAndGet() (gas: 1127344) -LibMapTest:testUint40MapSetAndGet(uint256) (runs: 256, μ: 130142, ~: 125468) -LibMapTest:testUint40MapSetAndGet2(uint256) (runs: 256, μ: 67201, ~: 69214) -LibMapTest:testUint64MapSearchSorted(uint256) (runs: 256, μ: 131554, ~: 108348) +LibMapTest:testUint40MapSetAndGet(uint256) (runs: 257, μ: 130123, ~: 125467) +LibMapTest:testUint40MapSetAndGet2(uint256) (runs: 257, μ: 67209, ~: 69214) +LibMapTest:testUint64MapSearchSorted(uint256) (runs: 257, μ: 131460, ~: 108348) LibMapTest:testUint64MapSetAndGet() (gas: 1220437) -LibMapTest:testUint64MapSetAndGet(uint256) (runs: 256, μ: 139103, ~: 146531) -LibMapTest:testUint64MapSetAndGet2(uint256) (runs: 256, μ: 67727, ~: 69203) -LibMapTest:testUint8MapSearchSorted(uint256) (runs: 256, μ: 96831, ~: 86549) +LibMapTest:testUint64MapSetAndGet(uint256) (runs: 257, μ: 139049, ~: 146522) +LibMapTest:testUint64MapSetAndGet2(uint256) (runs: 257, μ: 67733, ~: 69203) +LibMapTest:testUint8MapSearchSorted(uint256) (runs: 257, μ: 96770, ~: 86511) LibMapTest:testUint8MapSetAndGet() (gas: 883454) -LibMapTest:testUint8MapSetAndGet(uint256) (runs: 256, μ: 59155, ~: 59107) -LibMapTest:testUint8MapSetAndGet2(uint256) (runs: 256, μ: 66792, ~: 69122) +LibMapTest:testUint8MapSetAndGet(uint256) (runs: 257, μ: 59152, ~: 59107) +LibMapTest:testUint8MapSetAndGet2(uint256) (runs: 257, μ: 66724, ~: 69122) LibMapTest:test__codesize() (gas: 12035) LibPRNGTest:testExponentialWad() (gas: 4394348) LibPRNGTest:testLCGGas() (gas: 20803) LibPRNGTest:testLazyShufflerGet() (gas: 298238) -LibPRNGTest:testLazyShufflerGetOutOfBoundsReverts(uint256,uint256) (runs: 256, μ: 26643, ~: 26667) +LibPRNGTest:testLazyShufflerGetOutOfBoundsReverts(uint256,uint256) (runs: 257, μ: 26644, ~: 26667) LibPRNGTest:testLazyShufflerNoStorageCollisions() (gas: 266115) -LibPRNGTest:testLazyShufflerProducesShuffledRange(uint256) (runs: 256, μ: 168613, ~: 91030) +LibPRNGTest:testLazyShufflerProducesShuffledRange(uint256) (runs: 257, μ: 168290, ~: 91030) LibPRNGTest:testLazyShufflerProducesShuffledRange2() (gas: 8974962) -LibPRNGTest:testLazyShufflerProducesShuffledRangeWithGrow(uint256,uint256) (runs: 256, μ: 188058, ~: 174844) +LibPRNGTest:testLazyShufflerProducesShuffledRangeWithGrow(uint256,uint256) (runs: 257, μ: 187957, ~: 174665) LibPRNGTest:testLazyShufflerRestart() (gas: 274850) LibPRNGTest:testLazyShufflerRevertsOnDoubleInit() (gas: 26824) -LibPRNGTest:testLazyShufflerRevertsOnFinshedNext(uint256) (runs: 256, μ: 62642, ~: 55713) -LibPRNGTest:testLazyShufflerRevertsOnGrowWithInvalidLength(uint256,uint256) (runs: 256, μ: 24688, ~: 24600) -LibPRNGTest:testLazyShufflerRevertsOnInitWithInvalidLength(uint256) (runs: 256, μ: 23058, ~: 23497) +LibPRNGTest:testLazyShufflerRevertsOnFinshedNext(uint256) (runs: 257, μ: 62603, ~: 54996) +LibPRNGTest:testLazyShufflerRevertsOnGrowWithInvalidLength(uint256,uint256) (runs: 257, μ: 24688, ~: 24600) +LibPRNGTest:testLazyShufflerRevertsOnInitWithInvalidLength(uint256) (runs: 257, μ: 23061, ~: 23497) LibPRNGTest:testLazyShufflerRevertsOnZeroLengthNext() (gas: 27776) LibPRNGTest:testPRNGGas() (gas: 25667) LibPRNGTest:testPRNGNext() (gas: 16162) @@ -743,325 +743,325 @@ LibPRNGTest:testPRNGShuffleGas() (gas: 1610927) LibPRNGTest:testPRNGUniform() (gas: 559430) LibPRNGTest:testStandardNormalWad() (gas: 4425913) LibPRNGTest:test__codesize() (gas: 14289) -LibRLPTest:testComputeAddressDifferential(address,uint256) (runs: 256, μ: 4198, ~: 3950) +LibRLPTest:testComputeAddressDifferential(address,uint256) (runs: 257, μ: 4201, ~: 3950) LibRLPTest:testComputeAddressForLargeNonces() (gas: 1760) LibRLPTest:testComputeAddressForSmallNonces() (gas: 1007) LibRLPTest:testComputeAddressOriginalForLargeNonces() (gas: 3766) LibRLPTest:testComputeAddressOriginalForSmallNonces() (gas: 2185) -LibRLPTest:testRLPEncodeAddressDifferential(address) (runs: 256, μ: 379677, ~: 637249) -LibRLPTest:testRLPEncodeAddressViaList(address,address) (runs: 256, μ: 270995, ~: 27588) -LibRLPTest:testRLPEncodeBool(bool) (runs: 256, μ: 27573, ~: 27579) +LibRLPTest:testRLPEncodeAddressDifferential(address) (runs: 257, μ: 378300, ~: 637215) +LibRLPTest:testRLPEncodeAddressViaList(address,address) (runs: 257, μ: 270048, ~: 27588) +LibRLPTest:testRLPEncodeBool(bool) (runs: 257, μ: 27573, ~: 27579) LibRLPTest:testRLPEncodeBytes() (gas: 382181) LibRLPTest:testRLPEncodeBytes2() (gas: 156293) -LibRLPTest:testRLPEncodeBytesDifferential(bytes32) (runs: 256, μ: 423550, ~: 638232) +LibRLPTest:testRLPEncodeBytesDifferential(bytes32) (runs: 257, μ: 422005, ~: 638195) LibRLPTest:testRLPEncodeList() (gas: 730914) LibRLPTest:testRLPEncodeList2() (gas: 806602) -LibRLPTest:testRLPEncodeListDifferential(bytes,uint256) (runs: 256, μ: 715818, ~: 651492) +LibRLPTest:testRLPEncodeListDifferential(bytes,uint256) (runs: 257, μ: 713176, ~: 651396) LibRLPTest:testRLPEncodeUint() (gas: 1555284) -LibRLPTest:testRLPEncodeUint(uint256) (runs: 256, μ: 166788, ~: 25295) -LibRLPTest:testRLPEncodeUintDifferential(uint256) (runs: 256, μ: 452167, ~: 27470) -LibRLPTest:testRLPMemory(bytes32) (runs: 256, μ: 472305, ~: 642600) +LibRLPTest:testRLPEncodeUint(uint256) (runs: 257, μ: 166236, ~: 25294) +LibRLPTest:testRLPEncodeUintDifferential(uint256) (runs: 257, μ: 452897, ~: 27492) +LibRLPTest:testRLPMemory(bytes32) (runs: 257, μ: 473456, ~: 642771) LibRLPTest:testRLPPUint256() (gas: 364901) -LibRLPTest:testSmallLog256Equivalence(uint256) (runs: 256, μ: 23653, ~: 23689) +LibRLPTest:testSmallLog256Equivalence(uint256) (runs: 257, μ: 23653, ~: 23689) LibRLPTest:test__codesize() (gas: 15119) -LibSortTest:testCopy(uint256) (runs: 256, μ: 119695, ~: 26807) -LibSortTest:testInsertionSortAddressesDifferential(uint256) (runs: 256, μ: 57580, ~: 25925) +LibSortTest:testCopy(uint256) (runs: 257, μ: 119326, ~: 26807) +LibSortTest:testInsertionSortAddressesDifferential(uint256) (runs: 257, μ: 57465, ~: 25926) LibSortTest:testInsertionSortInts() (gas: 112151) LibSortTest:testInsertionSortPsuedorandom() (gas: 62807) -LibSortTest:testInsertionSortPsuedorandom(uint256) (runs: 256, μ: 61735, ~: 61664) -LibSortTest:testIsSortedAddressesDifferential(uint256) (runs: 256, μ: 41647, ~: 29071) -LibSortTest:testIsSortedAndUniquifiedAddressesDifferential(uint256) (runs: 256, μ: 35201, ~: 28612) -LibSortTest:testIsSortedAndUniquifiedDifferential(uint256) (runs: 256, μ: 32886, ~: 27743) -LibSortTest:testIsSortedAndUniquifiedIntsDifferential(uint256) (runs: 256, μ: 53384, ~: 30017) -LibSortTest:testIsSortedDifferential(uint256) (runs: 256, μ: 39118, ~: 27703) -LibSortTest:testIsSortedIntsDifferential(uint256) (runs: 256, μ: 54540, ~: 29631) +LibSortTest:testInsertionSortPsuedorandom(uint256) (runs: 257, μ: 61723, ~: 61658) +LibSortTest:testIsSortedAddressesDifferential(uint256) (runs: 257, μ: 41606, ~: 29099) +LibSortTest:testIsSortedAndUniquifiedAddressesDifferential(uint256) (runs: 257, μ: 35159, ~: 28599) +LibSortTest:testIsSortedAndUniquifiedDifferential(uint256) (runs: 257, μ: 32860, ~: 27743) +LibSortTest:testIsSortedAndUniquifiedIntsDifferential(uint256) (runs: 257, μ: 53285, ~: 29879) +LibSortTest:testIsSortedDifferential(uint256) (runs: 257, μ: 39081, ~: 27703) +LibSortTest:testIsSortedIntsDifferential(uint256) (runs: 257, μ: 54424, ~: 29585) LibSortTest:testReverse() (gas: 114805) LibSortTest:testSearchSorted() (gas: 118972) LibSortTest:testSearchSortedAddresses() (gas: 251950) LibSortTest:testSearchSortedBasicCases() (gas: 2244) -LibSortTest:testSearchSortedDifferential(uint256) (runs: 256, μ: 43861, ~: 29623) +LibSortTest:testSearchSortedDifferential(uint256) (runs: 257, μ: 43887, ~: 29627) LibSortTest:testSearchSortedEdgeCases() (gas: 1617) -LibSortTest:testSearchSortedElementInArray(uint256) (runs: 256, μ: 58206, ~: 31313) +LibSortTest:testSearchSortedElementInArray(uint256) (runs: 257, μ: 58085, ~: 31309) LibSortTest:testSearchSortedElementNotInArray() (gas: 6135) -LibSortTest:testSearchSortedElementNotInArray(uint256) (runs: 256, μ: 58146, ~: 32848) +LibSortTest:testSearchSortedElementNotInArray(uint256) (runs: 257, μ: 58029, ~: 32843) LibSortTest:testSearchSortedInts() (gas: 120794) -LibSortTest:testSearchSortedInts(int256[],int256) (runs: 256, μ: 12038, ~: 11669) +LibSortTest:testSearchSortedInts(int256[],int256) (runs: 257, μ: 12031, ~: 11602) LibSortTest:testSearchSortedWithEmptyArray() (gas: 709) -LibSortTest:testSort(uint256) (runs: 256, μ: 45932, ~: 28967) -LibSortTest:testSortAddressesDifferential(uint256) (runs: 256, μ: 64205, ~: 28931) +LibSortTest:testSort(uint256) (runs: 257, μ: 45845, ~: 28959) +LibSortTest:testSortAddressesDifferential(uint256) (runs: 257, μ: 64080, ~: 28939) LibSortTest:testSortAddressesPsuedorandom() (gas: 144832) -LibSortTest:testSortAddressesPsuedorandom(uint256) (runs: 256, μ: 146340, ~: 146412) +LibSortTest:testSortAddressesPsuedorandom(uint256) (runs: 257, μ: 146330, ~: 146408) LibSortTest:testSortAddressesPsuedorandomBrutalizeUpperBits() (gas: 195855) LibSortTest:testSortAddressesReversed() (gas: 45400) LibSortTest:testSortAddressesSorted() (gas: 42376) LibSortTest:testSortBasicCase() (gas: 1210) -LibSortTest:testSortChecksumed(uint256) (runs: 256, μ: 52978, ~: 29092) -LibSortTest:testSortDifferential(uint256) (runs: 256, μ: 71174, ~: 27839) +LibSortTest:testSortChecksumed(uint256) (runs: 257, μ: 52864, ~: 29039) +LibSortTest:testSortDifferential(uint256) (runs: 257, μ: 71767, ~: 27965) LibSortTest:testSortInts() (gas: 612213) LibSortTest:testSortMostlySame() (gas: 67374) LibSortTest:testSortOriginalMostlySame() (gas: 207985) LibSortTest:testSortOriginalPsuedorandom() (gas: 284071) -LibSortTest:testSortOriginalPsuedorandom(uint256) (runs: 256, μ: 285500, ~: 284722) +LibSortTest:testSortOriginalPsuedorandom(uint256) (runs: 257, μ: 285488, ~: 284712) LibSortTest:testSortOriginalReversed() (gas: 156282) LibSortTest:testSortOriginalSorted() (gas: 142263) LibSortTest:testSortPsuedorandom() (gas: 138552) -LibSortTest:testSortPsuedorandom(uint256) (runs: 256, μ: 139983, ~: 140027) +LibSortTest:testSortPsuedorandom(uint256) (runs: 257, μ: 139982, ~: 140017) LibSortTest:testSortPsuedorandomNonuniform() (gas: 145689) -LibSortTest:testSortPsuedorandomNonuniform(uint256) (runs: 256, μ: 145379, ~: 145411) +LibSortTest:testSortPsuedorandomNonuniform(uint256) (runs: 257, μ: 145373, ~: 145365) LibSortTest:testSortReversed() (gas: 38827) LibSortTest:testSortSorted() (gas: 35785) LibSortTest:testSortTestOverhead() (gas: 102190) LibSortTest:testSortedDifferenceDifferential() (gas: 174078) -LibSortTest:testSortedDifferenceDifferential(uint256) (runs: 256, μ: 34644, ~: 34152) -LibSortTest:testSortedDifferenceDifferentialInt(uint256) (runs: 256, μ: 36638, ~: 36197) -LibSortTest:testSortedDifferenceUnionIntersection(uint256) (runs: 256, μ: 62769, ~: 59416) +LibSortTest:testSortedDifferenceDifferential(uint256) (runs: 257, μ: 34674, ~: 34195) +LibSortTest:testSortedDifferenceDifferentialInt(uint256) (runs: 257, μ: 36597, ~: 36145) +LibSortTest:testSortedDifferenceUnionIntersection(uint256) (runs: 257, μ: 62653, ~: 58994) LibSortTest:testSortedIntersectionDifferential() (gas: 208213) -LibSortTest:testSortedIntersectionDifferential(uint256) (runs: 256, μ: 33171, ~: 32733) -LibSortTest:testSortedIntersectionDifferentialInt(uint256) (runs: 256, μ: 34514, ~: 33652) +LibSortTest:testSortedIntersectionDifferential(uint256) (runs: 257, μ: 33182, ~: 32854) +LibSortTest:testSortedIntersectionDifferentialInt(uint256) (runs: 257, μ: 34545, ~: 33701) LibSortTest:testSortedUnionDifferential() (gas: 212667) -LibSortTest:testSortedUnionDifferential(uint256) (runs: 256, μ: 34594, ~: 33975) -LibSortTest:testSortedUnionDifferentialInt(uint256) (runs: 256, μ: 38050, ~: 37533) -LibSortTest:testTwoComplementConversionSort(int256,int256) (runs: 256, μ: 515, ~: 517) +LibSortTest:testSortedUnionDifferential(uint256) (runs: 257, μ: 34583, ~: 33797) +LibSortTest:testSortedUnionDifferentialInt(uint256) (runs: 257, μ: 38076, ~: 37563) +LibSortTest:testTwoComplementConversionSort(int256,int256) (runs: 257, μ: 515, ~: 517) LibSortTest:testUniquifySorted() (gas: 1710) -LibSortTest:testUniquifySorted(uint256) (runs: 256, μ: 46418, ~: 28445) +LibSortTest:testUniquifySorted(uint256) (runs: 257, μ: 46464, ~: 28576) LibSortTest:testUniquifySortedAddress() (gas: 4039) -LibSortTest:testUniquifySortedAddress(uint256) (runs: 256, μ: 54882, ~: 28968) -LibSortTest:testUniquifySortedDifferential(uint256) (runs: 256, μ: 67909, ~: 31920) +LibSortTest:testUniquifySortedAddress(uint256) (runs: 257, μ: 54786, ~: 28984) +LibSortTest:testUniquifySortedDifferential(uint256) (runs: 257, μ: 67736, ~: 31910) LibSortTest:testUniquifySortedWithEmptyArray() (gas: 506) LibSortTest:test__codesize() (gas: 21807) -LibStringTest:testAddressToHexStringZeroRightPadded(address) (runs: 256, μ: 3414, ~: 3414) +LibStringTest:testAddressToHexStringZeroRightPadded(address) (runs: 257, μ: 3414, ~: 3414) LibStringTest:testBytesToHexString() (gas: 4801) -LibStringTest:testBytesToHexString(bytes) (runs: 256, μ: 746328, ~: 596713) +LibStringTest:testBytesToHexString(bytes) (runs: 257, μ: 745769, ~: 596713) LibStringTest:testBytesToHexStringNoPrefix() (gas: 4467) -LibStringTest:testBytesToHexStringNoPrefix(bytes) (runs: 256, μ: 738768, ~: 596349) +LibStringTest:testBytesToHexStringNoPrefix(bytes) (runs: 257, μ: 738236, ~: 596381) LibStringTest:testContains() (gas: 43966) LibStringTest:testFromAddressToHexString() (gas: 3137) LibStringTest:testFromAddressToHexStringChecksummed() (gas: 35217) -LibStringTest:testFromAddressToHexStringChecksummedDifferential(uint256) (runs: 256, μ: 721219, ~: 585406) +LibStringTest:testFromAddressToHexStringChecksummedDifferential(uint256) (runs: 257, μ: 720691, ~: 585406) LibStringTest:testFromAddressToHexStringWithLeadingZeros() (gas: 3113) -LibStringTest:testHexStringNoPrefixVariants(uint256,uint256) (runs: 256, μ: 753888, ~: 594722) +LibStringTest:testHexStringNoPrefixVariants(uint256,uint256) (runs: 257, μ: 753273, ~: 594749) LibStringTest:testNormalizeSmallString() (gas: 1387) -LibStringTest:testNormalizeSmallString(bytes32) (runs: 256, μ: 2936, ~: 3955) +LibStringTest:testNormalizeSmallString(bytes32) (runs: 257, μ: 2941, ~: 3955) LibStringTest:testStringConcat() (gas: 3967) -LibStringTest:testStringConcat(string,string) (runs: 256, μ: 625494, ~: 576903) +LibStringTest:testStringConcat(string,string) (runs: 257, μ: 625305, ~: 576903) LibStringTest:testStringConcatOriginal() (gas: 4654) LibStringTest:testStringDirectReturn() (gas: 6741) -LibStringTest:testStringDirectReturn(string) (runs: 256, μ: 3003, ~: 2916) +LibStringTest:testStringDirectReturn(string) (runs: 257, μ: 3003, ~: 2916) LibStringTest:testStringEndsWith() (gas: 2829) -LibStringTest:testStringEndsWith(uint256) (runs: 256, μ: 669237, ~: 607195) -LibStringTest:testStringEq(string,string) (runs: 256, μ: 1544, ~: 1545) +LibStringTest:testStringEndsWith(uint256) (runs: 257, μ: 668977, ~: 607078) +LibStringTest:testStringEq(string,string) (runs: 257, μ: 1544, ~: 1545) LibStringTest:testStringEqs() (gas: 2013) LibStringTest:testStringEscapeHTML() (gas: 8427) -LibStringTest:testStringEscapeHTML(uint256) (runs: 256, μ: 758135, ~: 615750) +LibStringTest:testStringEscapeHTML(uint256) (runs: 257, μ: 757570, ~: 615686) LibStringTest:testStringEscapeJSON() (gas: 39797) LibStringTest:testStringEscapeJSONHexEncode() (gas: 700117) LibStringTest:testStringIndexOf() (gas: 17375) -LibStringTest:testStringIndexOf(uint256) (runs: 256, μ: 719460, ~: 617828) +LibStringTest:testStringIndexOf(uint256) (runs: 257, μ: 719093, ~: 617846) LibStringTest:testStringIndicesOf() (gas: 11700) -LibStringTest:testStringIndicesOf(uint256) (runs: 256, μ: 786110, ~: 620498) +LibStringTest:testStringIndicesOf(uint256) (runs: 257, μ: 785482, ~: 620500) LibStringTest:testStringIs7BitASCII() (gas: 205346) -LibStringTest:testStringIs7BitASCIIDifferential(bytes) (runs: 256, μ: 713649, ~: 576617) +LibStringTest:testStringIs7BitASCIIDifferential(bytes) (runs: 257, μ: 713112, ~: 576615) LibStringTest:testStringIs7BitASCIIWithAllowedLookup() (gas: 4939) -LibStringTest:testStringIs7BitASCIIWithAllowedLookupDifferential(bytes,uint128) (runs: 256, μ: 676871, ~: 576385) +LibStringTest:testStringIs7BitASCIIWithAllowedLookupDifferential(bytes,uint128) (runs: 257, μ: 676480, ~: 576388) LibStringTest:testStringLastIndexOf() (gas: 24042) -LibStringTest:testStringLastIndexOf(uint256) (runs: 256, μ: 705197, ~: 621160) +LibStringTest:testStringLastIndexOf(uint256) (runs: 257, μ: 704855, ~: 620973) LibStringTest:testStringLowerDifferential() (gas: 3051885) -LibStringTest:testStringLowerDifferential(string) (runs: 256, μ: 8289, ~: 7991) +LibStringTest:testStringLowerDifferential(string) (runs: 257, μ: 8285, ~: 7991) LibStringTest:testStringLowerOriginal() (gas: 1219) LibStringTest:testStringPackAndUnpackOne() (gas: 725086) -LibStringTest:testStringPackAndUnpackOne(string) (runs: 256, μ: 672825, ~: 575680) -LibStringTest:testStringPackAndUnpackOneDifferential(string) (runs: 256, μ: 716856, ~: 575496) +LibStringTest:testStringPackAndUnpackOne(string) (runs: 257, μ: 672446, ~: 575680) +LibStringTest:testStringPackAndUnpackOneDifferential(string) (runs: 257, μ: 716307, ~: 575496) LibStringTest:testStringPackAndUnpackTwo() (gas: 880925) -LibStringTest:testStringPackAndUnpackTwo(string,string) (runs: 256, μ: 659947, ~: 576955) -LibStringTest:testStringPackAndUnpackTwoDifferential(string,string) (runs: 256, μ: 628362, ~: 576482) +LibStringTest:testStringPackAndUnpackTwo(string,string) (runs: 257, μ: 659623, ~: 576953) +LibStringTest:testStringPackAndUnpackTwoDifferential(string,string) (runs: 257, μ: 628159, ~: 576482) LibStringTest:testStringRepeat() (gas: 4926) -LibStringTest:testStringRepeat(string,uint256) (runs: 256, μ: 694580, ~: 578199) +LibStringTest:testStringRepeat(string,uint256) (runs: 257, μ: 694120, ~: 578160) LibStringTest:testStringRepeatOriginal() (gas: 9598) -LibStringTest:testStringReplace(uint256) (runs: 256, μ: 703676, ~: 623558) +LibStringTest:testStringReplace(uint256) (runs: 257, μ: 703407, ~: 623596) LibStringTest:testStringReplaceLong() (gas: 8551) LibStringTest:testStringReplaceMedium() (gas: 7559) LibStringTest:testStringReplaceShort() (gas: 12307) LibStringTest:testStringRuneCount() (gas: 2973849) -LibStringTest:testStringRuneCountDifferential(string) (runs: 256, μ: 6101, ~: 5878) +LibStringTest:testStringRuneCountDifferential(string) (runs: 257, μ: 6097, ~: 5868) LibStringTest:testStringSlice() (gas: 9262) -LibStringTest:testStringSlice(uint256) (runs: 256, μ: 744070, ~: 616060) +LibStringTest:testStringSlice(uint256) (runs: 257, μ: 757183, ~: 616151) LibStringTest:testStringSplit() (gas: 20287) -LibStringTest:testStringSplit(uint256) (runs: 256, μ: 734568, ~: 624612) +LibStringTest:testStringSplit(uint256) (runs: 257, μ: 734110, ~: 624521) LibStringTest:testStringStartsWith() (gas: 2544) -LibStringTest:testStringStartsWith(uint256) (runs: 256, μ: 726758, ~: 609654) +LibStringTest:testStringStartsWith(uint256) (runs: 257, μ: 726339, ~: 609669) LibStringTest:testStringUpperDifferential() (gas: 3599376) -LibStringTest:testStringUpperDifferential(string) (runs: 256, μ: 8288, ~: 7990) +LibStringTest:testStringUpperDifferential(string) (runs: 257, μ: 8284, ~: 7990) LibStringTest:testStringUpperOriginal() (gas: 1218) LibStringTest:testTo7BitASCIIAllowedLookup() (gas: 3113) LibStringTest:testToHexStringFixedLengthInsufficientLength() (gas: 3395) LibStringTest:testToHexStringFixedLengthPositiveNumberLong() (gas: 3699) LibStringTest:testToHexStringFixedLengthPositiveNumberShort() (gas: 940) LibStringTest:testToHexStringFixedLengthUint256Max() (gas: 3656) -LibStringTest:testToHexStringFixedLengthZeroRightPadded(uint256,uint256) (runs: 256, μ: 8210, ~: 5920) +LibStringTest:testToHexStringFixedLengthZeroRightPadded(uint256,uint256) (runs: 257, μ: 8203, ~: 5968) LibStringTest:testToHexStringPositiveNumber() (gas: 865) LibStringTest:testToHexStringUint256Max() (gas: 3442) LibStringTest:testToHexStringZero() (gas: 805) -LibStringTest:testToHexStringZeroRightPadded(uint256) (runs: 256, μ: 1913, ~: 1382) +LibStringTest:testToHexStringZeroRightPadded(uint256) (runs: 257, μ: 1912, ~: 1382) LibStringTest:testToMinimalHexStringNoPrefixPositiveNumber() (gas: 3426) LibStringTest:testToMinimalHexStringNoPrefixUint256Max() (gas: 3424) LibStringTest:testToMinimalHexStringNoPrefixZero() (gas: 809) -LibStringTest:testToMinimalHexStringNoPrefixZeroRightPadded(uint256) (runs: 256, μ: 1933, ~: 1404) +LibStringTest:testToMinimalHexStringNoPrefixZeroRightPadded(uint256) (runs: 257, μ: 1932, ~: 1404) LibStringTest:testToMinimalHexStringPositiveNumber() (gas: 3556) LibStringTest:testToMinimalHexStringUint256Max() (gas: 3470) LibStringTest:testToMinimalHexStringZero() (gas: 829) -LibStringTest:testToMinimalHexStringZeroRightPadded(uint256) (runs: 256, μ: 2005, ~: 1474) +LibStringTest:testToMinimalHexStringZeroRightPadded(uint256) (runs: 257, μ: 2004, ~: 1474) LibStringTest:testToSmallString() (gas: 4448) LibStringTest:testToStringPositiveNumber() (gas: 910) LibStringTest:testToStringPositiveNumberBrutalized() (gas: 752723) -LibStringTest:testToStringSignedDifferential(int256) (runs: 256, μ: 667706, ~: 578737) +LibStringTest:testToStringSignedDifferential(int256) (runs: 257, μ: 667355, ~: 578672) LibStringTest:testToStringSignedGas() (gas: 7305) -LibStringTest:testToStringSignedMemory(int256) (runs: 256, μ: 770267, ~: 576972) +LibStringTest:testToStringSignedMemory(int256) (runs: 257, μ: 769512, ~: 576946) LibStringTest:testToStringSignedOriginalGas() (gas: 9817) LibStringTest:testToStringUint256Max() (gas: 6687) LibStringTest:testToStringUint256MaxBrutalized() (gas: 587176) LibStringTest:testToStringZero() (gas: 699) LibStringTest:testToStringZeroBrutalized() (gas: 575091) -LibStringTest:testToStringZeroRightPadded(uint256) (runs: 256, μ: 703625, ~: 576071) +LibStringTest:testToStringZeroRightPadded(uint256) (runs: 257, μ: 703128, ~: 576034) LibStringTest:test__codesize() (gas: 42048) LibZipTest:testCdCompress() (gas: 126842) -LibZipTest:testCdCompressDecompress(bytes) (runs: 256, μ: 788475, ~: 653519) -LibZipTest:testCdCompressDecompress(uint256) (runs: 256, μ: 852095, ~: 676109) +LibZipTest:testCdCompressDecompress(bytes) (runs: 257, μ: 787962, ~: 653534) +LibZipTest:testCdCompressDecompress(uint256) (runs: 257, μ: 851294, ~: 675924) LibZipTest:testCdDecompressOnInvalidInput() (gas: 1397) LibZipTest:testCdFallback() (gas: 5636018) -LibZipTest:testCdFallback(bytes,uint256) (runs: 256, μ: 1178842, ~: 1060850) -LibZipTest:testCdFallbackDecompressor(bytes) (runs: 256, μ: 121111, ~: 117229) -LibZipTest:testCdFallbackDecompressor(uint256) (runs: 256, μ: 169402, ~: 161623) -LibZipTest:testCdFallbackMaskTrick(uint256,uint256) (runs: 256, μ: 594, ~: 585) -LibZipTest:testDecompressWontRevert(bytes) (runs: 256, μ: 690206, ~: 633039) +LibZipTest:testCdFallback(bytes,uint256) (runs: 257, μ: 1178383, ~: 1060857) +LibZipTest:testCdFallbackDecompressor(bytes) (runs: 257, μ: 121118, ~: 117268) +LibZipTest:testCdFallbackDecompressor(uint256) (runs: 257, μ: 169302, ~: 161595) +LibZipTest:testCdFallbackMaskTrick(uint256,uint256) (runs: 257, μ: 594, ~: 585) +LibZipTest:testDecompressWontRevert(bytes) (runs: 257, μ: 690003, ~: 633056) LibZipTest:testFlzCompressDecompress() (gas: 1250953) -LibZipTest:testFlzCompressDecompress(bytes) (runs: 256, μ: 738140, ~: 667022) +LibZipTest:testFlzCompressDecompress(bytes) (runs: 257, μ: 738144, ~: 667063) LibZipTest:testFlzCompressDecompress2() (gas: 760133) LibZipTest:test__codesize() (gas: 20369) -LifebuoyTest:testLifebuoyCreateDeployment(address,address,uint256) (runs: 256, μ: 3218257, ~: 4097485) -LifebuoyTest:testLifebuoyOwnedCloneRescuePermissions(bytes32) (runs: 256, μ: 941420, ~: 941335) -LifebuoyTest:testLifebuoyOwnedRescuePermissions(bytes32) (runs: 256, μ: 947597, ~: 938722) -LifebuoyTest:testLifebuoyRescuePermissions(bytes32) (runs: 256, μ: 927136, ~: 920506) +LifebuoyTest:testLifebuoyCreateDeployment(address,address,uint256) (runs: 257, μ: 3219628, ~: 3596001) +LifebuoyTest:testLifebuoyOwnedCloneRescuePermissions(bytes32) (runs: 257, μ: 941420, ~: 941336) +LifebuoyTest:testLifebuoyOwnedRescuePermissions(bytes32) (runs: 257, μ: 947550, ~: 938718) +LifebuoyTest:testLifebuoyRescuePermissions(bytes32) (runs: 257, μ: 927048, ~: 905396) LifebuoyTest:testLockEverything() (gas: 662008) LifebuoyTest:testLockRescue() (gas: 687529) LifebuoyTest:testLockRescueETH() (gas: 699031) -LifebuoyTest:testRescueERC20(uint256) (runs: 256, μ: 655352, ~: 657320) -LifebuoyTest:testRescueERC721(bytes32) (runs: 256, μ: 651552, ~: 651723) -LifebuoyTest:testRescueETH(uint256) (runs: 256, μ: 664091, ~: 664763) +LifebuoyTest:testRescueERC20(uint256) (runs: 257, μ: 655360, ~: 657324) +LifebuoyTest:testRescueERC721(bytes32) (runs: 257, μ: 651542, ~: 651720) +LifebuoyTest:testRescueETH(uint256) (runs: 257, μ: 664096, ~: 664763) LifebuoyTest:test__codesize() (gas: 31001) MerkleProofLibTest:testEmptyCalldataHelpers() (gas: 985) -MerkleProofLibTest:testVerifyMultiProof(bool,bool,bool,bool,bytes32) (runs: 256, μ: 759924, ~: 622861) -MerkleProofLibTest:testVerifyMultiProofForHeightOneTree(bool,bool,bool,bool,bool,bool[]) (runs: 256, μ: 37908, ~: 38470) -MerkleProofLibTest:testVerifyMultiProofForHeightTwoTree(bool,bool,bool,bool,bool,bytes32) (runs: 256, μ: 6507, ~: 6467) -MerkleProofLibTest:testVerifyMultiProofForSingleLeaf(bytes32[],uint256) (runs: 256, μ: 877257, ~: 796617) +MerkleProofLibTest:testVerifyMultiProof(bool,bool,bool,bool,bytes32) (runs: 257, μ: 759398, ~: 622863) +MerkleProofLibTest:testVerifyMultiProofForHeightOneTree(bool,bool,bool,bool,bool,bool[]) (runs: 257, μ: 37961, ~: 38822) +MerkleProofLibTest:testVerifyMultiProofForHeightTwoTree(bool,bool,bool,bool,bool,bytes32) (runs: 257, μ: 6505, ~: 6467) +MerkleProofLibTest:testVerifyMultiProofForSingleLeaf(bytes32[],uint256) (runs: 257, μ: 876791, ~: 796382) MerkleProofLibTest:testVerifyMultiProofIsInvalid() (gas: 621637) MerkleProofLibTest:testVerifyMultiProofIsValid() (gas: 623052) MerkleProofLibTest:testVerifyMultiProofMalicious() (gas: 7918) -MerkleProofLibTest:testVerifyProof(bytes32[],uint256) (runs: 256, μ: 860319, ~: 773174) -MerkleProofLibTest:testVerifyProofBasicCase(bool,bool,bool,bytes32) (runs: 256, μ: 4039, ~: 3906) +MerkleProofLibTest:testVerifyProof(bytes32[],uint256) (runs: 257, μ: 859845, ~: 772616) +MerkleProofLibTest:testVerifyProofBasicCase(bool,bool,bool,bytes32) (runs: 257, μ: 4040, ~: 3906) MerkleProofLibTest:testVerifyProofBasicCaseIsInvalid() (gas: 3626) MerkleProofLibTest:testVerifyProofBasicCaseIsValid() (gas: 3590) -MerkleProofLibTest:testVerifyProofForHeightOneTree(bool,bool,bool,bool) (runs: 256, μ: 2693, ~: 2968) +MerkleProofLibTest:testVerifyProofForHeightOneTree(bool,bool,bool,bool) (runs: 257, μ: 2694, ~: 2968) MerkleProofLibTest:test__codesize() (gas: 11089) -MetadataReaderLibTest:testBoundsCheckDifferential(uint256) (runs: 256, μ: 25594, ~: 25582) +MetadataReaderLibTest:testBoundsCheckDifferential(uint256) (runs: 257, μ: 25593, ~: 25581) MetadataReaderLibTest:testReadBytes32String() (gas: 661236) MetadataReaderLibTest:testReadBytes32StringTruncated() (gas: 777425) -MetadataReaderLibTest:testReadString(uint256) (runs: 256, μ: 831102, ~: 718717) +MetadataReaderLibTest:testReadString(uint256) (runs: 257, μ: 831126, ~: 718732) MetadataReaderLibTest:testReadStringChopped() (gas: 269520) -MetadataReaderLibTest:testReadStringTruncated(uint256) (runs: 256, μ: 851063, ~: 706170) +MetadataReaderLibTest:testReadStringTruncated(uint256) (runs: 257, μ: 850502, ~: 706181) MetadataReaderLibTest:testReadUint() (gas: 911216) -MetadataReaderLibTest:testReadUint(uint256) (runs: 256, μ: 46782, ~: 47090) +MetadataReaderLibTest:testReadUint(uint256) (runs: 257, μ: 46784, ~: 47091) MetadataReaderLibTest:test__codesize() (gas: 7891) -MinHeapLibTest:testHeapEnqueue(uint256) (runs: 256, μ: 173846, ~: 166372) -MinHeapLibTest:testHeapEnqueue2(uint256) (runs: 256, μ: 590328, ~: 356149) +MinHeapLibTest:testHeapEnqueue(uint256) (runs: 257, μ: 174055, ~: 167157) +MinHeapLibTest:testHeapEnqueue2(uint256) (runs: 257, μ: 589134, ~: 354456) MinHeapLibTest:testHeapEnqueueGas() (gas: 854823) -MinHeapLibTest:testHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 256, μ: 48526, ~: 67805) -MinHeapLibTest:testHeapPSiftTrick(uint256,uint256,uint256) (runs: 256, μ: 733, ~: 730) -MinHeapLibTest:testHeapPushAndPop(uint256) (runs: 256, μ: 102248, ~: 99475) -MinHeapLibTest:testHeapPushPop(uint256) (runs: 256, μ: 247892, ~: 240568) -MinHeapLibTest:testHeapPushPopLength(uint256) (runs: 256, μ: 904625, ~: 797091) -MinHeapLibTest:testHeapReplace(uint256) (runs: 256, μ: 290562, ~: 280259) -MinHeapLibTest:testHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 256, μ: 42995, ~: 29120) -MinHeapLibTest:testHeapRoot(uint256) (runs: 256, μ: 47719, ~: 47811) -MinHeapLibTest:testHeapSmallest(uint256) (runs: 256, μ: 1482703, ~: 1199500) +MinHeapLibTest:testHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 257, μ: 48602, ~: 67805) +MinHeapLibTest:testHeapPSiftTrick(uint256,uint256,uint256) (runs: 257, μ: 734, ~: 899) +MinHeapLibTest:testHeapPushAndPop(uint256) (runs: 257, μ: 102139, ~: 99475) +MinHeapLibTest:testHeapPushPop(uint256) (runs: 257, μ: 247681, ~: 240389) +MinHeapLibTest:testHeapPushPopLength(uint256) (runs: 257, μ: 903957, ~: 795971) +MinHeapLibTest:testHeapReplace(uint256) (runs: 257, μ: 290627, ~: 280289) +MinHeapLibTest:testHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 257, μ: 42941, ~: 29120) +MinHeapLibTest:testHeapRoot(uint256) (runs: 257, μ: 47642, ~: 47811) +MinHeapLibTest:testHeapSmallest(uint256) (runs: 257, μ: 1482345, ~: 1209184) MinHeapLibTest:testHeapSmallestGas() (gas: 50027291) -MinHeapLibTest:testMemHeapEnqueue(uint256) (runs: 256, μ: 883917, ~: 819172) -MinHeapLibTest:testMemHeapEnqueue2(uint256) (runs: 256, μ: 823883, ~: 721930) +MinHeapLibTest:testMemHeapEnqueue(uint256) (runs: 257, μ: 884154, ~: 819207) +MinHeapLibTest:testMemHeapEnqueue2(uint256) (runs: 257, μ: 823900, ~: 722445) MinHeapLibTest:testMemHeapEnqueueGas() (gas: 233998) -MinHeapLibTest:testMemHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 256, μ: 25416, ~: 26459) -MinHeapLibTest:testMemHeapPushAndPop(uint256) (runs: 256, μ: 1096054, ~: 1000902) +MinHeapLibTest:testMemHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 257, μ: 25421, ~: 26459) +MinHeapLibTest:testMemHeapPushAndPop(uint256) (runs: 257, μ: 1094250, ~: 994119) MinHeapLibTest:testMemHeapPushGas() (gas: 32075) -MinHeapLibTest:testMemHeapPushPop(uint256) (runs: 256, μ: 1427470, ~: 1307697) -MinHeapLibTest:testMemHeapPushPopLength(uint256) (runs: 256, μ: 789113, ~: 677429) -MinHeapLibTest:testMemHeapReplace(uint256) (runs: 256, μ: 914225, ~: 754956) -MinHeapLibTest:testMemHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 256, μ: 26036, ~: 25716) -MinHeapLibTest:testMemHeapRoot(uint256) (runs: 256, μ: 738035, ~: 634600) -MinHeapLibTest:testMemHeapSmallest(uint256) (runs: 256, μ: 868581, ~: 732481) +MinHeapLibTest:testMemHeapPushPop(uint256) (runs: 257, μ: 1426853, ~: 1304395) +MinHeapLibTest:testMemHeapPushPopLength(uint256) (runs: 257, μ: 800571, ~: 677435) +MinHeapLibTest:testMemHeapReplace(uint256) (runs: 257, μ: 913887, ~: 756181) +MinHeapLibTest:testMemHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 257, μ: 26039, ~: 25716) +MinHeapLibTest:testMemHeapRoot(uint256) (runs: 257, μ: 737638, ~: 634600) +MinHeapLibTest:testMemHeapSmallest(uint256) (runs: 257, μ: 868276, ~: 732529) MinHeapLibTest:testMemHeapSmallestGas() (gas: 2874313) MinHeapLibTest:test__codesize() (gas: 13872) MulticallableTest:testMulticallableBenchmark() (gas: 29642) MulticallableTest:testMulticallableOriginalBenchmark() (gas: 38935) MulticallableTest:testMulticallablePreservesMsgSender() (gas: 11166) MulticallableTest:testMulticallableReturnDataIsProperlyEncoded() (gas: 11665) -MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(string,string,uint256) (runs: 256, μ: 9428, ~: 7437) -MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(uint256,uint256,uint256,uint256) (runs: 256, μ: 11811, ~: 11811) +MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(string,string,uint256) (runs: 257, μ: 9436, ~: 7437) +MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(uint256,uint256,uint256,uint256) (runs: 257, μ: 11811, ~: 11811) MulticallableTest:testMulticallableRevertWithCustomError() (gas: 11811) MulticallableTest:testMulticallableRevertWithMessage() (gas: 13483) -MulticallableTest:testMulticallableRevertWithMessage(string) (runs: 256, μ: 14096, ~: 13944) +MulticallableTest:testMulticallableRevertWithMessage(string) (runs: 257, μ: 14096, ~: 13944) MulticallableTest:testMulticallableRevertWithNothing() (gas: 11673) MulticallableTest:testMulticallableWithNoData() (gas: 6286) MulticallableTest:test__codesize() (gas: 8562) OwnableRolesTest:testBytecodeSize() (gas: 350635) -OwnableRolesTest:testGrantAndRemoveRolesDirect(address,uint256,uint256) (runs: 256, μ: 40251, ~: 40750) -OwnableRolesTest:testGrantAndRevokeOrRenounceRoles(address,bool,bool,bool,uint256,uint256) (runs: 256, μ: 27613, ~: 16405) +OwnableRolesTest:testGrantAndRemoveRolesDirect(address,uint256,uint256) (runs: 257, μ: 40253, ~: 40750) +OwnableRolesTest:testGrantAndRevokeOrRenounceRoles(address,bool,bool,bool,uint256,uint256) (runs: 257, μ: 27553, ~: 12212) OwnableRolesTest:testGrantRoles() (gas: 36136) OwnableRolesTest:testHandoverOwnership() (gas: 32394) -OwnableRolesTest:testHandoverOwnership(address) (runs: 256, μ: 32435, ~: 32420) +OwnableRolesTest:testHandoverOwnership(address) (runs: 257, μ: 32435, ~: 32420) OwnableRolesTest:testHandoverOwnershipAfterExpiration() (gas: 36947) OwnableRolesTest:testHandoverOwnershipBeforeExpiration() (gas: 28733) OwnableRolesTest:testHandoverOwnershipRevertsIfCompleteIsNotOwner() (gas: 35621) OwnableRolesTest:testHandoverOwnershipWithCancellation() (gas: 30772) -OwnableRolesTest:testHasAllRoles(address,uint256,uint256,uint256,bool) (runs: 256, μ: 33584, ~: 33588) -OwnableRolesTest:testHasAnyRole(address,uint256,uint256) (runs: 256, μ: 33219, ~: 33375) +OwnableRolesTest:testHasAllRoles(address,uint256,uint256,uint256,bool) (runs: 257, μ: 33584, ~: 33588) +OwnableRolesTest:testHasAnyRole(address,uint256,uint256) (runs: 257, μ: 33220, ~: 33375) OwnableRolesTest:testInitializeOwnerDirect() (gas: 16738) -OwnableRolesTest:testOnlyOwnerModifier(address,bool) (runs: 256, μ: 22624, ~: 32884) +OwnableRolesTest:testOnlyOwnerModifier(address,bool) (runs: 257, μ: 22580, ~: 32884) OwnableRolesTest:testOnlyOwnerOrRolesModifier() (gas: 36596) -OwnableRolesTest:testOnlyOwnerOrRolesModifier(address,bool,uint256,uint256) (runs: 256, μ: 57024, ~: 58249) -OwnableRolesTest:testOnlyRolesModifier(address,uint256,uint256) (runs: 256, μ: 56048, ~: 57903) -OwnableRolesTest:testOnlyRolesOrOwnerModifier(address,bool,uint256,uint256) (runs: 256, μ: 57947, ~: 58396) +OwnableRolesTest:testOnlyOwnerOrRolesModifier(address,bool,uint256,uint256) (runs: 257, μ: 57030, ~: 58531) +OwnableRolesTest:testOnlyRolesModifier(address,uint256,uint256) (runs: 257, μ: 56055, ~: 57903) +OwnableRolesTest:testOnlyRolesOrOwnerModifier(address,bool,uint256,uint256) (runs: 257, μ: 57949, ~: 58396) OwnableRolesTest:testOrdinalsFromRoles() (gas: 3631629) -OwnableRolesTest:testOrdinalsFromRoles(uint256) (runs: 256, μ: 61125, ~: 44457) +OwnableRolesTest:testOrdinalsFromRoles(uint256) (runs: 257, μ: 61066, ~: 44490) OwnableRolesTest:testOwnershipHandoverValidForDefaultValue() (gas: 5825) OwnableRolesTest:testRenounceOwnership() (gas: 12921) OwnableRolesTest:testRolesFromOrdinals() (gas: 648931) -OwnableRolesTest:testRolesFromOrdinals(uint8[]) (runs: 256, μ: 81222, ~: 85587) +OwnableRolesTest:testRolesFromOrdinals(uint8[]) (runs: 257, μ: 81163, ~: 85017) OwnableRolesTest:testSetOwnerDirect() (gas: 17790) -OwnableRolesTest:testSetOwnerDirect(address) (runs: 256, μ: 17915, ~: 17915) -OwnableRolesTest:testSetRolesDirect(uint256) (runs: 256, μ: 99949, ~: 100168) +OwnableRolesTest:testSetOwnerDirect(address) (runs: 257, μ: 17915, ~: 17915) +OwnableRolesTest:testSetRolesDirect(uint256) (runs: 257, μ: 99951, ~: 100168) OwnableRolesTest:testTransferOwnership() (gas: 19671) -OwnableRolesTest:testTransferOwnership(address,bool,bool) (runs: 256, μ: 14589, ~: 12735) +OwnableRolesTest:testTransferOwnership(address,bool,bool) (runs: 257, μ: 14610, ~: 12735) OwnableRolesTest:test__codesize() (gas: 21847) OwnableTest:testBytecodeSize() (gas: 235158) OwnableTest:testHandoverOwnership() (gas: 32127) -OwnableTest:testHandoverOwnership(address) (runs: 256, μ: 32151, ~: 32136) +OwnableTest:testHandoverOwnership(address) (runs: 257, μ: 32151, ~: 32136) OwnableTest:testHandoverOwnershipAfterExpiration() (gas: 36725) OwnableTest:testHandoverOwnershipBeforeExpiration() (gas: 28582) OwnableTest:testHandoverOwnershipRevertsIfCompleteIsNotOwner() (gas: 35355) OwnableTest:testHandoverOwnershipWithCancellation() (gas: 30416) OwnableTest:testInitializeOwnerDirect() (gas: 16613) -OwnableTest:testOnlyOwnerModifier(address,bool) (runs: 256, μ: 22537, ~: 32829) +OwnableTest:testOnlyOwnerModifier(address,bool) (runs: 257, μ: 22494, ~: 32829) OwnableTest:testOwnershipHandoverValidForDefaultValue() (gas: 5737) OwnableTest:testRenounceOwnership() (gas: 12755) OwnableTest:testSetOwnerDirect() (gas: 17700) -OwnableTest:testSetOwnerDirect(address) (runs: 256, μ: 17826, ~: 17826) +OwnableTest:testSetOwnerDirect(address) (runs: 257, μ: 17826, ~: 17826) OwnableTest:testTransferOwnership() (gas: 19481) -OwnableTest:testTransferOwnership(address,bool,bool) (runs: 256, μ: 14343, ~: 12508) +OwnableTest:testTransferOwnership(address,bool,bool) (runs: 257, μ: 14364, ~: 12508) OwnableTest:test__codesize() (gas: 11007) -P256Test:testP256Verify(uint256,bytes32) (runs: 256, μ: 493395, ~: 493487) +P256Test:testP256Verify(uint256,bytes32) (runs: 257, μ: 493379, ~: 493425) P256Test:testP256VerifyMalleableRIPPrecompile() (gas: 341155) P256Test:testP256VerifyMalleableVerifier() (gas: 341175) P256Test:testP256VerifyNonMalleableRIPPrecompile() (gas: 341117) P256Test:testP256VerifyNonMalleableVerifier() (gas: 341095) -P256Test:testP256VerifyNotDeployedReverts(bytes32,bytes32,bytes32,bytes32,bytes32,bool) (runs: 256, μ: 10815, ~: 10799) +P256Test:testP256VerifyNotDeployedReverts(bytes32,bytes32,bytes32,bytes32,bytes32,bool) (runs: 257, μ: 10815, ~: 10799) P256Test:testP256VerifyOutOfBounds() (gas: 201249) P256Test:testP256VerifyWycheproof() (gas: 3268) P256Test:test__codesize() (gas: 11313) @@ -1072,8 +1072,8 @@ ReceiverTest:testOnERC721Received() (gas: 64593) ReceiverTest:test__codesize() (gas: 3053) RedBlackTreeLibTest:testRedBlackTreeBenchUint160() (gas: 3428194) RedBlackTreeLibTest:testRedBlackTreeBenchUint256() (gas: 5841865) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 256, μ: 661220, ~: 537968) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 256, μ: 396122, ~: 370832) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 257, μ: 659242, ~: 535412) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 257, μ: 398117, ~: 371693) RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove3() (gas: 21527899) RedBlackTreeLibTest:testRedBlackTreeInsertBenchStep() (gas: 3702908) RedBlackTreeLibTest:testRedBlackTreeInsertBenchUint160() (gas: 3468526) @@ -1082,16 +1082,16 @@ RedBlackTreeLibTest:testRedBlackTreeInsertOneGas() (gas: 45558) RedBlackTreeLibTest:testRedBlackTreeInsertTenGas() (gas: 282691) RedBlackTreeLibTest:testRedBlackTreeInsertThreeGas() (gas: 96175) RedBlackTreeLibTest:testRedBlackTreeInsertTwoGas() (gas: 69785) -RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 256, μ: 251935, ~: 252895) -RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 256, μ: 261275, ~: 248696) -RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 256, μ: 270808, ~: 253492) +RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 257, μ: 253017, ~: 255356) +RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 257, μ: 260559, ~: 248696) +RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 257, μ: 270047, ~: 253138) RedBlackTreeLibTest:testRedBlackTreePointers() (gas: 91643) RedBlackTreeLibTest:testRedBlackTreeRejectsEmptyValue() (gas: 3232) RedBlackTreeLibTest:testRedBlackTreeRemoveViaPointer() (gas: 58157) RedBlackTreeLibTest:testRedBlackTreeTreeFullReverts() (gas: 50317) RedBlackTreeLibTest:testRedBlackTreeTryInsertAndRemove() (gas: 56062) RedBlackTreeLibTest:testRedBlackTreeValues() (gas: 191605) -RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 256, μ: 425736, ~: 273212) +RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 257, μ: 424361, ~: 272439) RedBlackTreeLibTest:test__codesize() (gas: 13068) ReentrancyGuardTest:testRecursiveDirectUnguardedCall() (gas: 34276) ReentrancyGuardTest:testRecursiveIndirectUnguardedCall() (gas: 47727) @@ -1102,20 +1102,20 @@ ReentrancyGuardTest:testRevertRecursiveIndirectGuardedCall() (gas: 56529) ReentrancyGuardTest:testRevertRemoteCallback() (gas: 56230) ReentrancyGuardTest:test__codesize() (gas: 4403) SSTORE2Test:testReadInvalidPointerCustomBoundsReverts() (gas: 3197) -SSTORE2Test:testReadInvalidPointerCustomBoundsReverts(address,uint256,uint256) (runs: 256, μ: 772436, ~: 635057) +SSTORE2Test:testReadInvalidPointerCustomBoundsReverts(address,uint256,uint256) (runs: 257, μ: 771895, ~: 634990) SSTORE2Test:testReadInvalidPointerCustomStartBoundReverts() (gas: 3241) -SSTORE2Test:testReadInvalidPointerCustomStartBoundReverts(address,uint256) (runs: 256, μ: 690376, ~: 634611) -SSTORE2Test:testReadInvalidPointerRevert(address) (runs: 256, μ: 743847, ~: 634567) +SSTORE2Test:testReadInvalidPointerCustomStartBoundReverts(address,uint256) (runs: 257, μ: 690168, ~: 634611) +SSTORE2Test:testReadInvalidPointerRevert(address) (runs: 257, μ: 743423, ~: 634567) SSTORE2Test:testReadInvalidPointerReverts() (gas: 3237) SSTORE2Test:testWriteRead() (gas: 52494) -SSTORE2Test:testWriteRead(bytes) (runs: 256, μ: 731677, ~: 670028) +SSTORE2Test:testWriteRead(bytes) (runs: 257, μ: 731436, ~: 670028) SSTORE2Test:testWriteReadCustomBounds() (gas: 34094) -SSTORE2Test:testWriteReadCustomBounds(bytes,uint256,uint256) (runs: 256, μ: 779946, ~: 668302) -SSTORE2Test:testWriteReadCustomBoundsOutOfRangeReverts(bytes,uint256,uint256) (runs: 256, μ: 770261, ~: 673216) +SSTORE2Test:testWriteReadCustomBounds(bytes,uint256,uint256) (runs: 257, μ: 779533, ~: 668305) +SSTORE2Test:testWriteReadCustomBoundsOutOfRangeReverts(bytes,uint256,uint256) (runs: 257, μ: 769892, ~: 673216) SSTORE2Test:testWriteReadCustomStartBound() (gas: 34104) -SSTORE2Test:testWriteReadCustomStartBound(bytes,uint256) (runs: 256, μ: 740880, ~: 671466) -SSTORE2Test:testWriteReadCustomStartBoundOutOfRangeReverts(bytes,uint256) (runs: 256, μ: 861900, ~: 673072) -SSTORE2Test:testWriteReadDeterministic(bytes) (runs: 256, μ: 843496, ~: 736393) +SSTORE2Test:testWriteReadCustomStartBound(bytes,uint256) (runs: 257, μ: 740607, ~: 671466) +SSTORE2Test:testWriteReadCustomStartBoundOutOfRangeReverts(bytes,uint256) (runs: 257, μ: 861168, ~: 673134) +SSTORE2Test:testWriteReadDeterministic(bytes) (runs: 257, μ: 843092, ~: 736393) SSTORE2Test:testWriteReadEmptyBound() (gas: 33847) SSTORE2Test:testWriteReadEmptyOutOfBoundsReverts() (gas: 36507) SSTORE2Test:testWriteReadFullBoundedRead() (gas: 52534) @@ -1124,95 +1124,95 @@ SSTORE2Test:testWriteReadOutOfBoundsReverts() (gas: 36485) SSTORE2Test:testWriteReadOutOfStartBoundReverts() (gas: 36489) SSTORE2Test:testWriteWithTooBigDataReverts() (gas: 97302814) SSTORE2Test:test__codesize() (gas: 8492) -SafeCastLibTest:testSafeCastInt256ToInt(int256,uint256) (runs: 256, μ: 19264, ~: 24950) +SafeCastLibTest:testSafeCastInt256ToInt(int256,uint256) (runs: 257, μ: 19203, ~: 24935) SafeCastLibTest:testSafeCastInt256ToIntBench() (gas: 341694) -SafeCastLibTest:testSafeCastInt256ToIntTrickEquivalence(int256) (runs: 256, μ: 406, ~: 406) -SafeCastLibTest:testSafeCastToInt256(uint256) (runs: 256, μ: 505, ~: 405) -SafeCastLibTest:testSafeCastToUint256(int256) (runs: 256, μ: 1327, ~: 428) -SafeCastLibTest:testSafeCastUint256ToInt(uint256,uint256) (runs: 256, μ: 26950, ~: 26086) +SafeCastLibTest:testSafeCastInt256ToIntTrickEquivalence(int256) (runs: 257, μ: 406, ~: 406) +SafeCastLibTest:testSafeCastToInt256(uint256) (runs: 257, μ: 504, ~: 405) +SafeCastLibTest:testSafeCastToUint256(int256) (runs: 257, μ: 1334, ~: 428) +SafeCastLibTest:testSafeCastUint256ToInt(uint256,uint256) (runs: 257, μ: 26960, ~: 26088) SafeCastLibTest:testSafeCastUint256ToInt256Bench() (gas: 29380) SafeCastLibTest:testSafeCastUint256ToIntBench() (gas: 330222) SafeCastLibTest:testSafeCastUint256ToUintBench() (gas: 326262) -SafeCastLibTest:testSafeCastUintToUint(uint256,uint256) (runs: 256, μ: 19184, ~: 24927) +SafeCastLibTest:testSafeCastUintToUint(uint256,uint256) (runs: 257, μ: 19123, ~: 24927) SafeCastLibTest:test__codesize() (gas: 23270) -SafeTransferLibTest:testApproveWithGarbageReverts(address,uint256) (runs: 256, μ: 111127, ~: 123651) +SafeTransferLibTest:testApproveWithGarbageReverts(address,uint256) (runs: 257, μ: 111195, ~: 123651) SafeTransferLibTest:testApproveWithMissingReturn() (gas: 32065) -SafeTransferLibTest:testApproveWithMissingReturn(address,uint256) (runs: 256, μ: 32207, ~: 32285) +SafeTransferLibTest:testApproveWithMissingReturn(address,uint256) (runs: 257, μ: 32207, ~: 32285) SafeTransferLibTest:testApproveWithNonContract() (gas: 2967) -SafeTransferLibTest:testApproveWithNonContract(address,address,uint256) (runs: 256, μ: 3530, ~: 3613) -SafeTransferLibTest:testApproveWithNonGarbage(address,uint256) (runs: 256, μ: 79093, ~: 59342) +SafeTransferLibTest:testApproveWithNonContract(address,address,uint256) (runs: 257, μ: 3530, ~: 3613) +SafeTransferLibTest:testApproveWithNonGarbage(address,uint256) (runs: 257, μ: 79181, ~: 59342) SafeTransferLibTest:testApproveWithRetry() (gas: 839894) -SafeTransferLibTest:testApproveWithRetry(address,uint256,uint256) (runs: 256, μ: 839830, ~: 840010) +SafeTransferLibTest:testApproveWithRetry(address,uint256,uint256) (runs: 257, μ: 839830, ~: 840010) SafeTransferLibTest:testApproveWithRetryWithNonContract() (gas: 2990) -SafeTransferLibTest:testApproveWithRetryWithNonContract(address,address,uint256) (runs: 256, μ: 3549, ~: 3632) +SafeTransferLibTest:testApproveWithRetryWithNonContract(address,address,uint256) (runs: 257, μ: 3549, ~: 3632) SafeTransferLibTest:testApproveWithReturnsFalseReverts() (gas: 9713) -SafeTransferLibTest:testApproveWithReturnsFalseReverts(address,uint256) (runs: 256, μ: 9866, ~: 9866) +SafeTransferLibTest:testApproveWithReturnsFalseReverts(address,uint256) (runs: 257, μ: 9866, ~: 9866) SafeTransferLibTest:testApproveWithReturnsTooLittleReverts() (gas: 9617) -SafeTransferLibTest:testApproveWithReturnsTooLittleReverts(address,uint256) (runs: 256, μ: 9795, ~: 9795) +SafeTransferLibTest:testApproveWithReturnsTooLittleReverts(address,uint256) (runs: 257, μ: 9795, ~: 9795) SafeTransferLibTest:testApproveWithReturnsTooMuch() (gas: 32511) -SafeTransferLibTest:testApproveWithReturnsTooMuch(address,uint256) (runs: 256, μ: 32591, ~: 32669) -SafeTransferLibTest:testApproveWithReturnsTwoReverts(address,uint256) (runs: 256, μ: 9823, ~: 9823) +SafeTransferLibTest:testApproveWithReturnsTooMuch(address,uint256) (runs: 257, μ: 32591, ~: 32669) +SafeTransferLibTest:testApproveWithReturnsTwoReverts(address,uint256) (runs: 257, μ: 9823, ~: 9823) SafeTransferLibTest:testApproveWithRevertingReverts() (gas: 9574) -SafeTransferLibTest:testApproveWithRevertingReverts(address,uint256) (runs: 256, μ: 9784, ~: 9784) +SafeTransferLibTest:testApproveWithRevertingReverts(address,uint256) (runs: 257, μ: 9784, ~: 9784) SafeTransferLibTest:testApproveWithStandardERC20() (gas: 31951) -SafeTransferLibTest:testApproveWithStandardERC20(address,uint256) (runs: 256, μ: 32095, ~: 32173) +SafeTransferLibTest:testApproveWithStandardERC20(address,uint256) (runs: 257, μ: 32095, ~: 32173) SafeTransferLibTest:testBalanceOfStandardERC20() (gas: 7852) -SafeTransferLibTest:testBalanceOfStandardERC20(address,uint256) (runs: 256, μ: 40345, ~: 40719) +SafeTransferLibTest:testBalanceOfStandardERC20(address,uint256) (runs: 257, μ: 40347, ~: 40719) SafeTransferLibTest:testForceTransferETHToGriever() (gas: 1511587) -SafeTransferLibTest:testForceTransferETHToGriever(uint256,uint256) (runs: 256, μ: 534680, ~: 570885) +SafeTransferLibTest:testForceTransferETHToGriever(uint256,uint256) (runs: 257, μ: 534821, ~: 570885) SafeTransferLibTest:testPermit2() (gas: 89501) -SafeTransferLibTest:testPermit2InvalidAmount(uint256) (runs: 256, μ: 102434, ~: 102489) +SafeTransferLibTest:testPermit2InvalidAmount(uint256) (runs: 257, μ: 102436, ~: 102489) SafeTransferLibTest:testPermit2OnDAI() (gas: 89523) -SafeTransferLibTest:testPermit2TransferFromInvalidAmount(uint256) (runs: 256, μ: 136065, ~: 136443) +SafeTransferLibTest:testPermit2TransferFromInvalidAmount(uint256) (runs: 257, μ: 136065, ~: 136443) SafeTransferLibTest:testSimplePermit2AndPermit2TransferFrom() (gas: 1127105) SafeTransferLibTest:testSimplePermit2AndPermit2TransferFromGas() (gas: 139845) SafeTransferLibTest:testTransferAllETH() (gas: 34643) -SafeTransferLibTest:testTransferAllETH(bytes32) (runs: 256, μ: 57236, ~: 57158) +SafeTransferLibTest:testTransferAllETH(bytes32) (runs: 257, μ: 57237, ~: 57158) SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts() (gas: 10782) -SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts(uint256) (runs: 256, μ: 10869, ~: 10869) +SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts(uint256) (runs: 257, μ: 10869, ~: 10869) SafeTransferLibTest:testTransferAllFromWithStandardERC20() (gas: 33323) -SafeTransferLibTest:testTransferAllFromWithStandardERC20(address,address,uint256) (runs: 256, μ: 57346, ~: 57331) +SafeTransferLibTest:testTransferAllFromWithStandardERC20(address,address,uint256) (runs: 257, μ: 57346, ~: 57331) SafeTransferLibTest:testTransferAllWithStandardERC20() (gas: 30832) -SafeTransferLibTest:testTransferAllWithStandardERC20(address,uint256) (runs: 256, μ: 42560, ~: 42560) +SafeTransferLibTest:testTransferAllWithStandardERC20(address,uint256) (runs: 257, μ: 42560, ~: 42560) SafeTransferLibTest:testTransferETH() (gas: 34622) -SafeTransferLibTest:testTransferETH(bytes32,uint256) (runs: 256, μ: 57210, ~: 57598) +SafeTransferLibTest:testTransferETH(bytes32,uint256) (runs: 257, μ: 57211, ~: 57598) SafeTransferLibTest:testTransferETHToContractWithoutFallbackReverts() (gas: 10851) -SafeTransferLibTest:testTransferETHToContractWithoutFallbackReverts(uint256) (runs: 256, μ: 10765, ~: 10888) -SafeTransferLibTest:testTransferFromWithGarbageReverts(address,address,uint256) (runs: 256, μ: 801037, ~: 680832) +SafeTransferLibTest:testTransferETHToContractWithoutFallbackReverts(uint256) (runs: 257, μ: 10766, ~: 10888) +SafeTransferLibTest:testTransferFromWithGarbageReverts(address,address,uint256) (runs: 257, μ: 800393, ~: 680832) SafeTransferLibTest:testTransferFromWithMissingReturn() (gas: 568086) -SafeTransferLibTest:testTransferFromWithMissingReturn(address,address,uint256) (runs: 256, μ: 675000, ~: 567926) +SafeTransferLibTest:testTransferFromWithMissingReturn(address,address,uint256) (runs: 257, μ: 674585, ~: 567926) SafeTransferLibTest:testTransferFromWithNonContract() (gas: 3066) -SafeTransferLibTest:testTransferFromWithNonContract(address,address,address,uint256) (runs: 256, μ: 3798, ~: 3861) -SafeTransferLibTest:testTransferFromWithNonGarbage(address,address,uint256) (runs: 256, μ: 728617, ~: 617999) +SafeTransferLibTest:testTransferFromWithNonContract(address,address,address,uint256) (runs: 257, μ: 3798, ~: 3861) +SafeTransferLibTest:testTransferFromWithNonGarbage(address,address,uint256) (runs: 257, μ: 728021, ~: 617988) SafeTransferLibTest:testTransferFromWithReturnsFalseReverts() (gas: 533170) -SafeTransferLibTest:testTransferFromWithReturnsFalseReverts(address,address,uint256) (runs: 256, μ: 663317, ~: 533611) +SafeTransferLibTest:testTransferFromWithReturnsFalseReverts(address,address,uint256) (runs: 257, μ: 662812, ~: 533611) SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts() (gas: 533168) -SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts(address,address,uint256) (runs: 256, μ: 657449, ~: 533386) +SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts(address,address,uint256) (runs: 257, μ: 656966, ~: 533386) SafeTransferLibTest:testTransferFromWithReturnsTooMuch() (gas: 568000) -SafeTransferLibTest:testTransferFromWithReturnsTooMuch(address,address,uint256) (runs: 256, μ: 707125, ~: 568784) -SafeTransferLibTest:testTransferFromWithReturnsTwoReverts(address,address,uint256) (runs: 256, μ: 605159, ~: 533491) +SafeTransferLibTest:testTransferFromWithReturnsTooMuch(address,address,uint256) (runs: 257, μ: 706584, ~: 568779) +SafeTransferLibTest:testTransferFromWithReturnsTwoReverts(address,address,uint256) (runs: 257, μ: 604881, ~: 533491) SafeTransferLibTest:testTransferFromWithRevertingReverts() (gas: 526455) -SafeTransferLibTest:testTransferFromWithRevertingReverts(address,address,uint256) (runs: 256, μ: 604748, ~: 526592) +SafeTransferLibTest:testTransferFromWithRevertingReverts(address,address,uint256) (runs: 257, μ: 604445, ~: 526592) SafeTransferLibTest:testTransferFromWithStandardERC20() (gas: 565871) -SafeTransferLibTest:testTransferFromWithStandardERC20(address,address,uint256) (runs: 256, μ: 718655, ~: 565594) -SafeTransferLibTest:testTransferWithGarbageReverts(address,uint256) (runs: 256, μ: 730572, ~: 645345) +SafeTransferLibTest:testTransferFromWithStandardERC20(address,address,uint256) (runs: 257, μ: 718059, ~: 565594) +SafeTransferLibTest:testTransferWithGarbageReverts(address,uint256) (runs: 257, μ: 730250, ~: 645345) SafeTransferLibTest:testTransferWithMissingReturn() (gas: 553732) -SafeTransferLibTest:testTransferWithMissingReturn(address,uint256) (runs: 256, μ: 657850, ~: 554080) +SafeTransferLibTest:testTransferWithMissingReturn(address,uint256) (runs: 257, μ: 657446, ~: 554080) SafeTransferLibTest:testTransferWithNonContract() (gas: 3010) -SafeTransferLibTest:testTransferWithNonContract(bytes32,address,uint256) (runs: 256, μ: 26110, ~: 26180) -SafeTransferLibTest:testTransferWithNonGarbage(address,uint256) (runs: 256, μ: 694369, ~: 581310) +SafeTransferLibTest:testTransferWithNonContract(bytes32,address,uint256) (runs: 257, μ: 26110, ~: 26180) +SafeTransferLibTest:testTransferWithNonGarbage(address,uint256) (runs: 257, μ: 694093, ~: 581316) SafeTransferLibTest:testTransferWithReturnsFalseReverts() (gas: 530240) -SafeTransferLibTest:testTransferWithReturnsFalseReverts(address,uint256) (runs: 256, μ: 563415, ~: 530497) +SafeTransferLibTest:testTransferWithReturnsFalseReverts(address,uint256) (runs: 257, μ: 563288, ~: 530497) SafeTransferLibTest:testTransferWithReturnsTooLittleReverts() (gas: 530427) -SafeTransferLibTest:testTransferWithReturnsTooLittleReverts(address,uint256) (runs: 256, μ: 598347, ~: 530421) +SafeTransferLibTest:testTransferWithReturnsTooLittleReverts(address,uint256) (runs: 257, μ: 598083, ~: 530421) SafeTransferLibTest:testTransferWithReturnsTooMuch() (gas: 554173) -SafeTransferLibTest:testTransferWithReturnsTooMuch(address,uint256) (runs: 256, μ: 684457, ~: 554537) -SafeTransferLibTest:testTransferWithReturnsTwoReverts(address,uint256) (runs: 256, μ: 667088, ~: 530507) +SafeTransferLibTest:testTransferWithReturnsTooMuch(address,uint256) (runs: 257, μ: 683951, ~: 554537) +SafeTransferLibTest:testTransferWithReturnsTwoReverts(address,uint256) (runs: 257, μ: 666557, ~: 530518) SafeTransferLibTest:testTransferWithRevertingReverts() (gas: 530155) -SafeTransferLibTest:testTransferWithRevertingReverts(address,uint256) (runs: 256, μ: 647806, ~: 530433) +SafeTransferLibTest:testTransferWithRevertingReverts(address,uint256) (runs: 257, μ: 647349, ~: 530433) SafeTransferLibTest:testTransferWithStandardERC20() (gas: 554400) -SafeTransferLibTest:testTransferWithStandardERC20(address,uint256) (runs: 256, μ: 666270, ~: 554350) -SafeTransferLibTest:testTrySafeTransferFrom(address,address,uint256) (runs: 256, μ: 109203, ~: 111577) +SafeTransferLibTest:testTransferWithStandardERC20(address,uint256) (runs: 257, μ: 668369, ~: 554350) +SafeTransferLibTest:testTrySafeTransferFrom(address,address,uint256) (runs: 257, μ: 109213, ~: 111577) SafeTransferLibTest:testTryTransferAllETH() (gas: 148698) SafeTransferLibTest:testTryTransferETH() (gas: 148701) SafeTransferLibTest:testTryTransferETHWithNoGrief() (gas: 537025) @@ -1225,7 +1225,7 @@ SignatureCheckerLibTest:testERC6492PreDeploy() (gas: 1227387) SignatureCheckerLibTest:testERC6492WithoutRevertingVerifier() (gas: 61898) SignatureCheckerLibTest:testEmptyCalldataHelpers() (gas: 3987) SignatureCheckerLibTest:testEtchERC6492RevertingVerifier() (gas: 56459) -SignatureCheckerLibTest:testSignatureChecker(bytes32) (runs: 256, μ: 57705, ~: 47033) +SignatureCheckerLibTest:testSignatureChecker(bytes32) (runs: 257, μ: 57795, ~: 47035) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithInvalidSignature() (gas: 21288) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithInvalidSigner() (gas: 30788) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithMatchingSignerAndSignature() (gas: 17685) @@ -1236,8 +1236,8 @@ SignatureCheckerLibTest:testSignatureCheckerOnWalletWithInvalidSigner() (gas: 25 SignatureCheckerLibTest:testSignatureCheckerOnWalletWithMatchingSignerAndSignature() (gas: 64494) SignatureCheckerLibTest:testSignatureCheckerOnWalletWithWrongSignedMessageHash() (gas: 64573) SignatureCheckerLibTest:testSignatureCheckerOnWalletWithZeroAddressSigner() (gas: 12340) -SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes) (runs: 256, μ: 1284, ~: 1284) -SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes32) (runs: 256, μ: 481, ~: 481) +SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes) (runs: 257, μ: 1284, ~: 1284) +SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes32) (runs: 257, μ: 481, ~: 481) SignatureCheckerLibTest:test__codesize() (gas: 15523) SoladyTest:test__codesize() (gas: 840) TestPlus:test__codesize() (gas: 406) @@ -1253,7 +1253,7 @@ UUPSUpgradeableTest:testUpgradeToRevertWithUpgradeFailed() (gas: 18583) UUPSUpgradeableTest:test__codesize() (gas: 6048) UpgradeableBeaconTest:testInitializeUpgradeableSolidityBeacon() (gas: 296434) UpgradeableBeaconTest:testInitializeUpgradeableYulBeacon() (gas: 335455) -UpgradeableBeaconTest:testUpgradeableBeacon(uint256) (runs: 256, μ: 245694, ~: 246670) +UpgradeableBeaconTest:testUpgradeableBeacon(uint256) (runs: 257, μ: 245541, ~: 246616) UpgradeableBeaconTest:testUpgradeableSolidityBeaconOnlyFnSelectorNotRecognised() (gas: 234560) UpgradeableBeaconTest:testUpgradeableSolidityBeaconOnlyOwnerFunctions() (gas: 260458) UpgradeableBeaconTest:testUpgradeableYulBeaconOnlyFnSelectorNotRecognised() (gas: 172796) @@ -1262,12 +1262,12 @@ UpgradeableBeaconTest:test__codesize() (gas: 8808) WETHInvariants:invariantTotalSupplyEqualsBalance() (runs: 10, calls: 150, reverts: 84) WETHInvariants:test__codesize() (gas: 5178) WETHTest:testDeposit() (gas: 62272) -WETHTest:testDeposit(uint256) (runs: 256, μ: 61908, ~: 62566) +WETHTest:testDeposit(uint256) (runs: 257, μ: 61911, ~: 62566) WETHTest:testFallbackDeposit() (gas: 61978) -WETHTest:testFallbackDeposit(uint256) (runs: 256, μ: 61569, ~: 62227) +WETHTest:testFallbackDeposit(uint256) (runs: 257, μ: 61572, ~: 62227) WETHTest:testMetadata() (gas: 9013) WETHTest:testPartialWithdraw() (gas: 70422) WETHTest:testWithdraw() (gas: 52047) -WETHTest:testWithdraw(uint256,uint256) (runs: 256, μ: 70508, ~: 71182) +WETHTest:testWithdraw(uint256,uint256) (runs: 257, μ: 70510, ~: 71182) WETHTest:testWithdrawToContractWithoutReceiveReverts() (gas: 90164) WETHTest:test__codesize() (gas: 9417) \ No newline at end of file diff --git a/src/accounts/ERC1271.sol b/src/accounts/ERC1271.sol index eceb15fe66..737bbabdbc 100644 --- a/src/accounts/ERC1271.sol +++ b/src/accounts/ERC1271.sol @@ -19,20 +19,6 @@ abstract contract ERC1271 is EIP712 { /* ERC1271 OPERATIONS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ - /// @dev Returns the ERC1271 signer. - /// Override to return the signer `isValidSignature` checks against. - function _erc1271Signer() internal view virtual returns (address); - - /// @dev Returns whether the `msg.sender` is considered safe, such - /// that we don't need to use the nested EIP-712 workflow. - /// Override to return true for more callers. - /// See: https://mirror.xyz/curiousapple.eth/pFqAdW2LiJ-6S4sg_u1z08k4vK6BCJ33LcyXpnNb8yU - function _erc1271CallerIsSafe() internal view virtual returns (bool) { - // The canonical `MulticallerWithSigner` at 0x000000000000D9ECebf3C23529de49815Dac1c4c - // is known to include the account in the hash to be signed. - return msg.sender == 0x000000000000D9ECebf3C23529de49815Dac1c4c; - } - /// @dev Validates the signature with ERC1271 return, /// so that this account can also be used as a signer. function isValidSignature(bytes32 hash, bytes calldata signature) @@ -41,7 +27,7 @@ abstract contract ERC1271 is EIP712 { virtual returns (bytes4 result) { - bool success = _erc1271IsValidSignature(hash, signature); + bool success = _erc1271IsValidSignature(hash, _erc1271UnwrapSignature(signature)); /// @solidity memory-safe-assembly assembly { // `success ? bytes4(keccak256("isValidSignature(bytes32,bytes)")) : 0xffffffff`. @@ -50,6 +36,30 @@ abstract contract ERC1271 is EIP712 { } } + /// @dev For automatic detection that the smart account supports the nested EIP-712 workflow. + /// By default, it returns `bytes32(bytes4(keccak256("supportsNestedTypedDataSign()")))`, + /// denoting support for the default behavior, as implemented in + /// `_erc1271IsValidSignatureViaNestedEIP712`, which is called in `isValidSignature`. + /// Future extensions should return a different non-zero `result` to denote different behavior. + /// This method intentionally returns bytes32 to allow freedom for future extensions. + function supportsNestedTypedDataSign() public view virtual returns (bytes32 result) { + result = bytes4(0xd620c85a); + } + + /// @dev Returns the ERC1271 signer. + /// Override to return the signer `isValidSignature` checks against. + function _erc1271Signer() internal view virtual returns (address); + + /// @dev Returns whether the `msg.sender` is considered safe, such + /// that we don't need to use the nested EIP-712 workflow. + /// Override to return true for more callers. + /// See: https://mirror.xyz/curiousapple.eth/pFqAdW2LiJ-6S4sg_u1z08k4vK6BCJ33LcyXpnNb8yU + function _erc1271CallerIsSafe() internal view virtual returns (bool) { + // The canonical `MulticallerWithSigner` at 0x000000000000D9ECebf3C23529de49815Dac1c4c + // is known to include the account in the hash to be signed. + return msg.sender == 0x000000000000D9ECebf3C23529de49815Dac1c4c; + } + /// @dev Returns whether the `hash` and `signature` are valid. /// Override if you need non-ECDSA logic. function _erc1271IsValidSignatureNowCalldata(bytes32 hash, bytes calldata signature) @@ -61,26 +71,36 @@ abstract contract ERC1271 is EIP712 { return SignatureCheckerLib.isValidSignatureNowCalldata(_erc1271Signer(), hash, signature); } - /// @dev Returns whether the `signature` is valid for the `hash. - function _erc1271IsValidSignature(bytes32 hash, bytes calldata signature) + /// @dev Unwraps and returns the signature. + function _erc1271UnwrapSignature(bytes calldata signature) internal view virtual - returns (bool) + returns (bytes calldata result) { + result = signature; /// @solidity memory-safe-assembly assembly { // Unwraps the ERC6492 wrapper if it exists. // See: https://eips.ethereum.org/EIPS/eip-6492 if eq( - calldataload(add(signature.offset, sub(signature.length, 0x20))), + calldataload(add(result.offset, sub(result.length, 0x20))), mul(0x6492, div(not(mload(0x60)), 0xffff)) // `0x6492...6492`. ) { - let o := add(signature.offset, calldataload(add(signature.offset, 0x40))) - signature.length := calldataload(o) - signature.offset := add(o, 0x20) + let o := add(result.offset, calldataload(add(result.offset, 0x40))) + result.length := calldataload(o) + result.offset := add(o, 0x20) } } + } + + /// @dev Returns whether the `signature` is valid for the `hash. + function _erc1271IsValidSignature(bytes32 hash, bytes calldata signature) + internal + view + virtual + returns (bool) + { return _erc1271IsValidSignatureViaSafeCaller(hash, signature) || _erc1271IsValidSignatureViaNestedEIP712(hash, signature) || _erc1271IsValidSignatureViaRPC(hash, signature); @@ -97,16 +117,6 @@ abstract contract ERC1271 is EIP712 { if (_erc1271CallerIsSafe()) result = _erc1271IsValidSignatureNowCalldata(hash, signature); } - /// @dev For automatic detection that the smart account supports the nested EIP-712 workflow. - /// By default, it returns `bytes32(bytes4(keccak256("supportsNestedTypedDataSign()")))`, - /// denoting support for the default behavior, as implemented in - /// `_erc1271IsValidSignatureViaNestedEIP712`, which is called in `isValidSignature`. - /// Future extensions should return a different non-zero `result` to denote different behavior. - /// This method intentionally returns bytes32 to allow freedom for future extensions. - function supportsNestedTypedDataSign() public view virtual returns (bytes32 result) { - result = bytes4(0xd620c85a); - } - /// @dev ERC1271 signature validation (Nested EIP-712 workflow). /// /// This uses ECDSA recovery by default (see: `_erc1271IsValidSignatureNowCalldata`). @@ -188,53 +198,54 @@ abstract contract ERC1271 is EIP712 { /// @solidity memory-safe-assembly assembly { let m := mload(0x40) // Cache the free memory pointer. - // Length of the contents type. - let c := and(0xffff, calldataload(add(signature.offset, sub(signature.length, 0x20)))) + // `c` is `contentsType.length`, which is stored in the last 2 bytes of the signature. + let c := shr(240, calldataload(add(signature.offset, sub(signature.length, 2)))) for {} 1 {} { let l := add(0x42, c) // Total length of appended data (32 + 32 + c + 2). - let o := add(signature.offset, sub(signature.length, l)) - calldatacopy(0x20, o, 0x40) // Copy the `APP_DOMAIN_SEPARATOR` and contents struct hash. + let o := add(signature.offset, sub(signature.length, l)) // Offset of appended data. mstore(0x00, 0x1901) // Store the "\x19\x01" prefix. - // Use the `PersonalSign` workflow if the reconstructed contents hash doesn't match, - // or if the appended data is invalid (length too long, or empty contents type). + calldatacopy(0x20, o, 0x40) // Copy the `APP_DOMAIN_SEPARATOR` and `contents` struct hash. + // Use the `PersonalSign` workflow if the reconstructed hash doesn't match, + // or if the appended data is invalid, i.e. + // `appendedData.length > signature.length || contentsType.length == 0`. if or(xor(keccak256(0x1e, 0x42), hash), or(lt(signature.length, l), iszero(c))) { - mstore(0x00, _PERSONAL_SIGN_TYPEHASH) + t := 0 // Set `t` to 0, denoting that we need to `hash = _hashTypedData(hash)`. + mstore(t, _PERSONAL_SIGN_TYPEHASH) mstore(0x20, hash) // Store the `prefixed`. - hash := keccak256(0x00, 0x40) // Compute the `PersonalSign` struct hash. + hash := keccak256(t, 0x40) // Compute the `PersonalSign` struct hash. break } // Else, use the `TypedDataSign` workflow. - mstore(m, "TypedDataSign(") // To construct `TYPED_DATA_SIGN_TYPEHASH` on-the-fly. - let p := add(m, 0x0e) // Advance 14 bytes. - calldatacopy(p, add(o, 0x40), c) // Copy the contents type. - let d := byte(0, mload(p)) // For denoting if the contents name is invalid. - d := or(gt(26, sub(d, 97)), eq(40, d)) // Starts with lowercase or '('. + // `TypedDataSign({ContentsName} contents,bytes1 fields,...){ContentsType}`. + mstore(m, "TypedDataSign(") // Store the start of `TypedDataSign`'s type encoding. + let p := add(m, 0x0e) // Advance 14 bytes to skip "TypedDataSign(". + calldatacopy(p, add(o, 0x40), c) // Copy `contentsType` to extract `contentsName`. + // `d & 1 == 1` means that `contentsName` is invalid. + let d := shr(byte(0, mload(p)), 0x7fffffe000000000000010000000000) // Starts with `[a-z(]`. // Store the end sentinel '(', and advance `p` until we encounter a '(' byte. - for { mstore(add(p, c), 40) } 1 { p := add(p, 1) } { - let b := byte(0, mload(p)) - if eq(40, b) { break } - d := or(d, shr(b, 0x120100000001)) // Has a byte in ", )\x00". + for { mstore(add(p, c), 40) } iszero(eq(byte(0, mload(p)), 40)) { p := add(p, 1) } { + d := or(shr(byte(0, mload(p)), 0x120100000001), d) // Has a byte in ", )\x00". } - mstore(p, " contents,bytes1 fields,string n") + mstore(p, " contents,bytes1 fields,string n") // Store the rest of the encoding. mstore(add(p, 0x20), "ame,string version,uint256 chain") mstore(add(p, 0x40), "Id,address verifyingContract,byt") mstore(add(p, 0x60), "es32 salt,uint256[] extensions)") - calldatacopy(add(p, 0x7f), add(o, 0x40), c) // Copy the contents type. + p := add(p, 0x7f) + calldatacopy(p, add(o, 0x40), c) // Copy `contentsType`. // Fill in the missing fields of the `TypedDataSign`. - calldatacopy(t, o, 0x40) // Copy `contents` to `add(t, 0x20)`. - mstore(t, keccak256(m, sub(add(add(p, 0x7f), c), m))) // `TYPED_DATA_SIGN_TYPEHASH`. + calldatacopy(t, o, 0x40) // Copy the `contents` struct hash to `add(t, 0x20)`. + mstore(t, keccak256(m, sub(add(p, c), m))) // Store `typedDataSignTypehash`. // The "\x19\x01" prefix is already at 0x00. // `APP_DOMAIN_SEPARATOR` is already at 0x20. mstore(0x40, keccak256(t, 0x120)) // `hashStruct(typedDataSign)`. - // Compute the final hash, corrupted if the contents name is invalid. + // Compute the final hash, corrupted if `contentsName` is invalid. hash := keccak256(0x1e, add(0x42, and(1, d))) - result := 1 // Use `result` to temporarily denote if we will use `APP_DOMAIN_SEPARATOR`. signature.length := sub(signature.length, l) // Truncate the signature. break } mstore(0x40, m) // Restore the free memory pointer. } - if (!result) hash = _hashTypedData(hash); + if (t == bytes32(0)) hash = _hashTypedData(hash); // `PersonalSign` workflow. result = _erc1271IsValidSignatureNowCalldata(hash, signature); } @@ -253,7 +264,7 @@ abstract contract ERC1271 is EIP712 { assembly { m := mload(0x40) // Grab the free memory pointer. mstore(0x40, add(m, 0x120)) // Allocate the memory. - // Skip 2 words: `TYPED_DATA_SIGN_TYPEHASH, contents`. + // Skip 2 words for the `typedDataSignTypehash` and `contents` struct hash. mstore(add(m, 0x40), shl(248, byte(0, fields))) mstore(add(m, 0x60), keccak256(add(name, 0x20), mload(name))) mstore(add(m, 0x80), keccak256(add(version, 0x20), mload(version)))