From 61c861afd5c8941982e39fe28e05656d714e9ebc Mon Sep 17 00:00:00 2001 From: Akshay Tarpara Date: Sun, 18 Aug 2024 21:03:40 +0530 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20Optimize=20CanonicalHash?= =?UTF-8?q?=20(#1043)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gas-snapshot | 1136 +++++++++++++++++++++---------------------- src/utils/ECDSA.sol | 51 +- 2 files changed, 590 insertions(+), 597 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index 248535aeb..6b4e730e7 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,9 +1,9 @@ Base64Test:testBase64DecodeSentenceGas() (gas: 3663) Base64Test:testBase64DecodeShortStringGas() (gas: 896) -Base64Test:testBase64EncodeDecode(bytes) (runs: 313, μ: 6063, ~: 4968) -Base64Test:testBase64EncodeDecodeAltModes(bytes) (runs: 313, μ: 880638, ~: 731498) +Base64Test:testBase64EncodeDecode(bytes) (runs: 256, μ: 5995, ~: 4968) +Base64Test:testBase64EncodeDecodeAltModes(bytes) (runs: 256, μ: 881784, ~: 732275) Base64Test:testBase64EncodeEmptyString() (gas: 902) -Base64Test:testBase64EncodeFileSafeAndNoPadding(bytes,bool,bool) (runs: 313, μ: 15795, ~: 14264) +Base64Test:testBase64EncodeFileSafeAndNoPadding(bytes,bool,bool) (runs: 256, μ: 15447, ~: 14264) Base64Test:testBase64EncodeSentence() (gas: 4333) Base64Test:testBase64EncodeShortStrings() (gas: 7610) Base64Test:testBase64EncodeToStringWithDoublePadding() (gas: 1553) @@ -12,96 +12,96 @@ Base64Test:testBase64EncodeToStringWithSinglePadding() (gas: 1487) Base64Test:testBase64WordBoundary() (gas: 11624) Base64Test:test__codesize() (gas: 6768) CREATE3Test:testDeployERC20() (gas: 833235) -CREATE3Test:testDeployERC20(bytes32,string,string,uint8) (runs: 313, μ: 879240, ~: 879319) +CREATE3Test:testDeployERC20(bytes32,string,string,uint8) (runs: 256, μ: 880265, ~: 879319) CREATE3Test:testDeployedUpperBitsSafeForPlainSolidity() (gas: 613) CREATE3Test:testDoubleDeployDifferentBytecodeReverts() (gas: 96898738) -CREATE3Test:testDoubleDeployDifferentBytecodeReverts(bytes32,bytes,bytes) (runs: 313, μ: 96880298, ~: 96880246) +CREATE3Test:testDoubleDeployDifferentBytecodeReverts(bytes32,bytes,bytes) (runs: 256, μ: 96880352, ~: 96880375) CREATE3Test:testDoubleDeploySameBytecodeReverts() (gas: 96889196) -CREATE3Test:testDoubleDeploySameBytecodeReverts(bytes32,bytes) (runs: 313, μ: 96881049, ~: 96880999) +CREATE3Test:testDoubleDeploySameBytecodeReverts(bytes32,bytes) (runs: 256, μ: 96881059, ~: 96880999) CREATE3Test:test__codesize() (gas: 14114) -DateTimeLibTest:testAddSubDiffDays(uint256,uint256) (runs: 313, μ: 4205, ~: 4209) -DateTimeLibTest:testAddSubDiffHours(uint256,uint256) (runs: 313, μ: 4147, ~: 4155) -DateTimeLibTest:testAddSubDiffMinutes(uint256,uint256) (runs: 313, μ: 4141, ~: 4129) -DateTimeLibTest:testAddSubDiffMonths(uint256,uint256) (runs: 313, μ: 7250, ~: 7257) -DateTimeLibTest:testAddSubDiffSeconds(uint256,uint256) (runs: 313, μ: 3757, ~: 3721) -DateTimeLibTest:testAddSubDiffYears(uint256,uint256) (runs: 313, μ: 6815, ~: 6822) +DateTimeLibTest:testAddSubDiffDays(uint256,uint256) (runs: 256, μ: 4200, ~: 4209) +DateTimeLibTest:testAddSubDiffHours(uint256,uint256) (runs: 256, μ: 4142, ~: 4155) +DateTimeLibTest:testAddSubDiffMinutes(uint256,uint256) (runs: 256, μ: 4138, ~: 4129) +DateTimeLibTest:testAddSubDiffMonths(uint256,uint256) (runs: 256, μ: 7245, ~: 7257) +DateTimeLibTest:testAddSubDiffSeconds(uint256,uint256) (runs: 256, μ: 3755, ~: 3721) +DateTimeLibTest:testAddSubDiffYears(uint256,uint256) (runs: 256, μ: 6808, ~: 6822) DateTimeLibTest:testDateTimeArithmeticReverts() (gas: 4495) DateTimeLibTest:testDateTimeMaxSupported() (gas: 2823) -DateTimeLibTest:testDateTimeToAndFroTimestamp((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 313, μ: 4135, ~: 4089) -DateTimeLibTest:testDateToAndFroEpochDay((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 313, μ: 2563, ~: 2588) +DateTimeLibTest:testDateTimeToAndFroTimestamp((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 4138, ~: 4089) +DateTimeLibTest:testDateToAndFroEpochDay((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 2561, ~: 2552) DateTimeLibTest:testDateToAndFroEpochDay() (gas: 877945) DateTimeLibTest:testDateToAndFroTimestamp() (gas: 926776) DateTimeLibTest:testDateToEpochDay() (gas: 1559) -DateTimeLibTest:testDateToEpochDayDifferential((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 313, μ: 2302, ~: 2322) -DateTimeLibTest:testDateToEpochDayDifferential2((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 313, μ: 2224, ~: 2249) +DateTimeLibTest:testDateToEpochDayDifferential((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 2300, ~: 2299) +DateTimeLibTest:testDateToEpochDayDifferential2((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 2222, ~: 2213) DateTimeLibTest:testDateToEpochDayGas() (gas: 764427) DateTimeLibTest:testDateToEpochDayGas2() (gas: 770404) DateTimeLibTest:testDayOfWeek() (gas: 175255) DateTimeLibTest:testDaysInMonth() (gas: 1226) -DateTimeLibTest:testDaysInMonth(uint256,uint256) (runs: 313, μ: 1072, ~: 1084) +DateTimeLibTest:testDaysInMonth(uint256,uint256) (runs: 256, μ: 1073, ~: 1085) DateTimeLibTest:testDaysToDate() (gas: 8377) -DateTimeLibTest:testEpochDayToDate(uint256) (runs: 313, μ: 1045, ~: 1045) -DateTimeLibTest:testEpochDayToDateDifferential(uint256) (runs: 313, μ: 1778, ~: 1721) -DateTimeLibTest:testEpochDayToDateDifferential2(uint256) (runs: 313, μ: 1785, ~: 1709) +DateTimeLibTest:testEpochDayToDate(uint256) (runs: 256, μ: 1045, ~: 1045) +DateTimeLibTest:testEpochDayToDateDifferential(uint256) (runs: 256, μ: 1776, ~: 1721) +DateTimeLibTest:testEpochDayToDateDifferential2(uint256) (runs: 256, μ: 1783, ~: 1709) DateTimeLibTest:testEpochDayToDateGas() (gas: 348457) DateTimeLibTest:testEpochDayToDateGas2() (gas: 360513) DateTimeLibTest:testIsLeapYear() (gas: 741) -DateTimeLibTest:testIsLeapYear(uint256) (runs: 313, μ: 541, ~: 517) +DateTimeLibTest:testIsLeapYear(uint256) (runs: 256, μ: 541, ~: 517) DateTimeLibTest:testIsSupportedDateFalse() (gas: 1180) -DateTimeLibTest:testIsSupportedDateTime((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 313, μ: 2951, ~: 2949) +DateTimeLibTest:testIsSupportedDateTime((uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 256, μ: 2963, ~: 2949) DateTimeLibTest:testIsSupportedDateTrue() (gas: 626) DateTimeLibTest:testIsSupportedEpochDayFalse() (gas: 494) DateTimeLibTest:testIsSupportedEpochDayTrue() (gas: 305) DateTimeLibTest:testIsSupportedTimestampFalse() (gas: 541) DateTimeLibTest:testIsSupportedTimestampTrue() (gas: 326) -DateTimeLibTest:testIsWeekEnd(uint256) (runs: 313, μ: 692, ~: 617) +DateTimeLibTest:testIsWeekEnd(uint256) (runs: 256, μ: 690, ~: 617) DateTimeLibTest:testMondayTimestamp() (gas: 1106) -DateTimeLibTest:testMondayTimestamp(uint256) (runs: 313, μ: 769, ~: 836) +DateTimeLibTest:testMondayTimestamp(uint256) (runs: 256, μ: 768, ~: 836) DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp() (gas: 12053) -DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp(uint256,uint256,uint256,uint256) (runs: 313, μ: 3534, ~: 3576) +DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp(uint256,uint256,uint256,uint256) (runs: 256, μ: 3551, ~: 3584) DateTimeLibTest:testWeekday() (gas: 682) DateTimeLibTest:test__codesize() (gas: 19163) DelegateCheckerLibTest:testCheckDelegateForAll() (gas: 35639) -DelegateCheckerLibTest:testCheckDelegateForAll(address,address,bytes32) (runs: 313, μ: 228549, ~: 242600) +DelegateCheckerLibTest:testCheckDelegateForAll(address,address,bytes32) (runs: 256, μ: 226745, ~: 237921) DelegateCheckerLibTest:testCheckDelegateForContract() (gas: 54172) -DelegateCheckerLibTest:testCheckDelegateForContract(address,address,address,bytes32) (runs: 313, μ: 354689, ~: 304093) +DelegateCheckerLibTest:testCheckDelegateForContract(address,address,address,bytes32) (runs: 256, μ: 353367, ~: 302314) DelegateCheckerLibTest:testCheckDelegateForERC1155() (gas: 62242) -DelegateCheckerLibTest:testCheckDelegateForERC1155(address,address,address,uint256,bytes32) (runs: 313, μ: 295894, ~: 303565) +DelegateCheckerLibTest:testCheckDelegateForERC1155(address,address,address,uint256,bytes32) (runs: 256, μ: 279101, ~: 301018) DelegateCheckerLibTest:testCheckDelegateForERC20() (gas: 61708) -DelegateCheckerLibTest:testCheckDelegateForERC20(address,address,address,bytes32) (runs: 313, μ: 297560, ~: 279782) +DelegateCheckerLibTest:testCheckDelegateForERC20(address,address,address,bytes32) (runs: 256, μ: 292012, ~: 278793) DelegateCheckerLibTest:testCheckDelegateForERC721() (gas: 69938) -DelegateCheckerLibTest:testCheckDelegateForERC721(address,address,address,uint256,bytes32) (runs: 313, μ: 423275, ~: 380383) +DelegateCheckerLibTest:testCheckDelegateForERC721(address,address,address,uint256,bytes32) (runs: 256, μ: 426882, ~: 378362) DelegateCheckerLibTest:test__codesize() (gas: 33189) -DeploylessPredeployQueryerTest:testPredeployQueryer(bytes32) (runs: 313, μ: 264414, ~: 222329) +DeploylessPredeployQueryerTest:testPredeployQueryer(bytes32) (runs: 256, μ: 258237, ~: 222019) DeploylessPredeployQueryerTest:testTargetGenerate() (gas: 366064) DeploylessPredeployQueryerTest:test__codesize() (gas: 8284) -DynamicBufferLibTest:testClear(uint256) (runs: 313, μ: 34607, ~: 34658) -DynamicBufferLibTest:testDynamicBuffer(bytes[],uint256) (runs: 313, μ: 915395, ~: 788200) -DynamicBufferLibTest:testDynamicBuffer(uint256) (runs: 313, μ: 835436, ~: 670533) +DynamicBufferLibTest:testClear(uint256) (runs: 256, μ: 34589, ~: 34654) +DynamicBufferLibTest:testDynamicBuffer(bytes[],uint256) (runs: 256, μ: 924569, ~: 789061) +DynamicBufferLibTest:testDynamicBuffer(uint256) (runs: 256, μ: 856163, ~: 670224) DynamicBufferLibTest:testDynamicBufferChaining() (gas: 12661) -DynamicBufferLibTest:testDynamicBufferPushSingles(uint256,uint256,uint256) (runs: 313, μ: 241715, ~: 34413) +DynamicBufferLibTest:testDynamicBufferPushSingles(uint256,uint256,uint256) (runs: 256, μ: 253506, ~: 34391) DynamicBufferLibTest:testDynamicBufferPushSinglesReinterpretCast() (gas: 21959) DynamicBufferLibTest:testDynamicBufferReserveFromEmpty() (gas: 2754) DynamicBufferLibTest:testDynamicBufferReserveFromEmpty2() (gas: 2463) -DynamicBufferLibTest:testDynamicBufferReserveFromEmpty3(bytes,uint256) (runs: 313, μ: 2834, ~: 2069) +DynamicBufferLibTest:testDynamicBufferReserveFromEmpty3(bytes,uint256) (runs: 256, μ: 2820, ~: 2066) DynamicBufferLibTest:testJoinWithConcat() (gas: 31429) DynamicBufferLibTest:testJoinWithDynamicBuffer() (gas: 10830) DynamicBufferLibTest:test__codesize() (gas: 12662) ECDSATest:testBytes32ToEthSignedMessageHash() (gas: 425) -ECDSATest:testBytesToEthSignedMessageHash() (gas: 11577647) +ECDSATest:testBytesToEthSignedMessageHash() (gas: 11576342) ECDSATest:testBytesToEthSignedMessageHashEmpty() (gas: 556) -ECDSATest:testBytesToEthSignedMessageHashExceedsMaxLengthReverts() (gas: 608692) +ECDSATest:testBytesToEthSignedMessageHashExceedsMaxLengthReverts() (gas: 605625) ECDSATest:testBytesToEthSignedMessageHashLong() (gas: 725) ECDSATest:testBytesToEthSignedMessageHashShort() (gas: 576) -ECDSATest:testCanonicalHash(bytes32) (runs: 313, μ: 146924, ~: 38439) -ECDSATest:testCanonicalHashCalldataWith64bytesSignature() (gas: 1220281) -ECDSATest:testCanonicalHashCalldataWithRegularSignature() (gas: 1219871) -ECDSATest:testCanonicalHashWith64bytesSignature() (gas: 607231) -ECDSATest:testCanonicalHashWithRegularSignature() (gas: 607148) +ECDSATest:testCanonicalHash(bytes32) (runs: 256, μ: 129925, ~: 38815) +ECDSATest:testCanonicalHashCalldataWith64bytesSignature() (gas: 1214053) +ECDSATest:testCanonicalHashCalldataWithRegularSignature() (gas: 1213617) +ECDSATest:testCanonicalHashWith64bytesSignature() (gas: 604243) +ECDSATest:testCanonicalHashWithRegularSignature() (gas: 604054) ECDSATest:testEmptyCalldataHelpers() (gas: 3268) ECDSATest:testMalleabilityTrick() (gas: 2564) -ECDSATest:testMalleabilityTrick(uint256) (runs: 313, μ: 450, ~: 449) -ECDSATest:testRecoverAndTryRecover(bytes32) (runs: 313, μ: 2867540, ~: 2506944) +ECDSATest:testMalleabilityTrick(uint256) (runs: 256, μ: 450, ~: 449) +ECDSATest:testRecoverAndTryRecover(bytes32) (runs: 256, μ: 2899903, ~: 2494932) ECDSATest:testRecoverWithInvalidLongSignatureReverts() (gas: 7395) ECDSATest:testRecoverWithInvalidShortSignatureReturnsZero() (gas: 7231) ECDSATest:testRecoverWithInvalidSignatureReverts() (gas: 8018) @@ -132,7 +132,7 @@ ECDSATest:testTryRecoverWithV1SignatureWithVersion28() (gas: 8829) ECDSATest:testTryRecoverWithV1SignatureWithWrongVersionReturnsZero() (gas: 8872) ECDSATest:testTryRecoverWithValidSignature() (gas: 8899) ECDSATest:testTryRecoverWithWrongSigner() (gas: 8890) -ECDSATest:test__codesize() (gas: 18123) +ECDSATest:test__codesize() (gas: 18074) EIP712Test:testDomainSeparator() (gas: 6048) EIP712Test:testDomainSeparatorOnClone() (gas: 8842) EIP712Test:testDomainSeparatorOnCloneDynamicWithChainIdChange() (gas: 69580) @@ -151,60 +151,60 @@ EIP712Test:testHashTypedDataWithChaindIdChange() (gas: 45206) EIP712Test:test__codesize() (gas: 11400) ERC1155HooksTest:testERC1155Hooks() (gas: 4512310) ERC1155HooksTest:test__codesize() (gas: 12474) -ERC1155Test:testApproveAll(address,bool) (runs: 313, μ: 49202, ~: 58445) -ERC1155Test:testAuthorizedEquivalence(address,address,bool) (runs: 313, μ: 715, ~: 715) -ERC1155Test:testBalanceOfBatchWithArrayMismatchReverts(uint256) (runs: 313, μ: 32090, ~: 34870) -ERC1155Test:testBatchBalanceOf(uint256) (runs: 313, μ: 153670, ~: 150698) -ERC1155Test:testBatchBurn(uint256) (runs: 313, μ: 193478, ~: 173511) -ERC1155Test:testBatchBurnInsufficientBalanceReverts(uint256) (runs: 313, μ: 200190, ~: 189382) -ERC1155Test:testBatchBurnWithArrayLengthMismatchReverts(uint256) (runs: 313, μ: 54657, ~: 54384) -ERC1155Test:testBatchMintToEOA(uint256) (runs: 313, μ: 150161, ~: 151165) -ERC1155Test:testBatchMintToERC1155Recipient(uint256) (runs: 313, μ: 1484287, ~: 769283) -ERC1155Test:testBatchMintToNonERC1155RecipientReverts(uint256) (runs: 313, μ: 194085, ~: 186151) -ERC1155Test:testBatchMintToRevertingERC1155RecipientReverts(uint256) (runs: 313, μ: 373138, ~: 366911) -ERC1155Test:testBatchMintToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 313, μ: 322267, ~: 289498) -ERC1155Test:testBatchMintToZeroReverts(uint256) (runs: 313, μ: 97531, ~: 90604) -ERC1155Test:testBatchMintWithArrayMismatchReverts(uint256) (runs: 313, μ: 42662, ~: 35656) -ERC1155Test:testBurn(uint256) (runs: 313, μ: 115440, ~: 103939) -ERC1155Test:testBurnInsufficientBalanceReverts(uint256) (runs: 313, μ: 117381, ~: 106270) -ERC1155Test:testDirectSetApprovalForAll(address,address,bool) (runs: 313, μ: 25227, ~: 15691) -ERC1155Test:testMintToEOA(uint256) (runs: 313, μ: 90319, ~: 81840) -ERC1155Test:testMintToERC1155Recipient(uint256) (runs: 313, μ: 1175610, ~: 663194) -ERC1155Test:testMintToNonERC155RecipientReverts(uint256) (runs: 313, μ: 120334, ~: 103537) -ERC1155Test:testMintToRevertingERC155RecipientReverts(uint256) (runs: 313, μ: 298230, ~: 283999) -ERC1155Test:testMintToWrongReturnDataERC155RecipientReverts(uint256) (runs: 313, μ: 260849, ~: 238671) -ERC1155Test:testMintToZeroReverts(uint256) (runs: 313, μ: 55454, ~: 33409) +ERC1155Test:testApproveAll(address,bool) (runs: 256, μ: 49058, ~: 58445) +ERC1155Test:testAuthorizedEquivalence(address,address,bool) (runs: 256, μ: 715, ~: 715) +ERC1155Test:testBalanceOfBatchWithArrayMismatchReverts(uint256) (runs: 256, μ: 32189, ~: 34870) +ERC1155Test:testBatchBalanceOf(uint256) (runs: 256, μ: 150939, ~: 150612) +ERC1155Test:testBatchBurn(uint256) (runs: 256, μ: 199487, ~: 177453) +ERC1155Test:testBatchBurnInsufficientBalanceReverts(uint256) (runs: 256, μ: 200413, ~: 189482) +ERC1155Test:testBatchBurnWithArrayLengthMismatchReverts(uint256) (runs: 256, μ: 54396, ~: 51666) +ERC1155Test:testBatchMintToEOA(uint256) (runs: 256, μ: 148533, ~: 151115) +ERC1155Test:testBatchMintToERC1155Recipient(uint256) (runs: 256, μ: 1457030, ~: 759354) +ERC1155Test:testBatchMintToNonERC1155RecipientReverts(uint256) (runs: 256, μ: 196473, ~: 186184) +ERC1155Test:testBatchMintToRevertingERC1155RecipientReverts(uint256) (runs: 256, μ: 368673, ~: 366700) +ERC1155Test:testBatchMintToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 256, μ: 320931, ~: 287909) +ERC1155Test:testBatchMintToZeroReverts(uint256) (runs: 256, μ: 94441, ~: 90583) +ERC1155Test:testBatchMintWithArrayMismatchReverts(uint256) (runs: 256, μ: 40836, ~: 35646) +ERC1155Test:testBurn(uint256) (runs: 256, μ: 118780, ~: 105654) +ERC1155Test:testBurnInsufficientBalanceReverts(uint256) (runs: 256, μ: 119511, ~: 105919) +ERC1155Test:testDirectSetApprovalForAll(address,address,bool) (runs: 256, μ: 25330, ~: 15691) +ERC1155Test:testMintToEOA(uint256) (runs: 256, μ: 90320, ~: 81702) +ERC1155Test:testMintToERC1155Recipient(uint256) (runs: 256, μ: 1194272, ~: 663050) +ERC1155Test:testMintToNonERC155RecipientReverts(uint256) (runs: 256, μ: 121703, ~: 103499) +ERC1155Test:testMintToRevertingERC155RecipientReverts(uint256) (runs: 256, μ: 300848, ~: 284019) +ERC1155Test:testMintToWrongReturnDataERC155RecipientReverts(uint256) (runs: 256, μ: 258718, ~: 238663) +ERC1155Test:testMintToZeroReverts(uint256) (runs: 256, μ: 54802, ~: 33409) ERC1155Test:testSafeBatchTransfer() (gas: 8288837) -ERC1155Test:testSafeBatchTransferFromToEOA(uint256) (runs: 313, μ: 256441, ~: 261975) -ERC1155Test:testSafeBatchTransferFromToERC1155Recipient(uint256) (runs: 313, μ: 2694450, ~: 984270) -ERC1155Test:testSafeBatchTransferFromToNonERC1155RecipientReverts(uint256) (runs: 313, μ: 264199, ~: 268271) -ERC1155Test:testSafeBatchTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 313, μ: 457913, ~: 450007) -ERC1155Test:testSafeBatchTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 313, μ: 413793, ~: 405747) -ERC1155Test:testSafeBatchTransferFromToZeroReverts(uint256) (runs: 313, μ: 179191, ~: 173401) -ERC1155Test:testSafeBatchTransferFromWithArrayLengthMismatchReverts(uint256) (runs: 313, μ: 68129, ~: 67076) -ERC1155Test:testSafeBatchTransferInsufficientBalanceReverts(uint256) (runs: 313, μ: 210893, ~: 192766) -ERC1155Test:testSafeTransferFromInsufficientBalanceReverts(uint256) (runs: 313, μ: 128370, ~: 108592) -ERC1155Test:testSafeTransferFromSelf(uint256) (runs: 313, μ: 142602, ~: 117592) -ERC1155Test:testSafeTransferFromSelfInsufficientBalanceReverts(uint256) (runs: 313, μ: 115136, ~: 81359) -ERC1155Test:testSafeTransferFromToEOA(uint256) (runs: 313, μ: 149477, ~: 130409) -ERC1155Test:testSafeTransferFromToERC1155Recipient(uint256) (runs: 313, μ: 1674111, ~: 741169) -ERC1155Test:testSafeTransferFromToNonERC155RecipientReverts(uint256) (runs: 313, μ: 175544, ~: 151075) -ERC1155Test:testSafeTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 313, μ: 357818, ~: 331992) -ERC1155Test:testSafeTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 313, μ: 320846, ~: 287454) -ERC1155Test:testSafeTransferFromToZeroReverts(uint256) (runs: 313, μ: 106162, ~: 80943) +ERC1155Test:testSafeBatchTransferFromToEOA(uint256) (runs: 256, μ: 248780, ~: 260148) +ERC1155Test:testSafeBatchTransferFromToERC1155Recipient(uint256) (runs: 256, μ: 2791227, ~: 977938) +ERC1155Test:testSafeBatchTransferFromToNonERC1155RecipientReverts(uint256) (runs: 256, μ: 264163, ~: 268481) +ERC1155Test:testSafeBatchTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 256, μ: 454886, ~: 449192) +ERC1155Test:testSafeBatchTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 256, μ: 414437, ~: 405430) +ERC1155Test:testSafeBatchTransferFromToZeroReverts(uint256) (runs: 256, μ: 178618, ~: 173401) +ERC1155Test:testSafeBatchTransferFromWithArrayLengthMismatchReverts(uint256) (runs: 256, μ: 67102, ~: 67119) +ERC1155Test:testSafeBatchTransferInsufficientBalanceReverts(uint256) (runs: 256, μ: 214149, ~: 193483) +ERC1155Test:testSafeTransferFromInsufficientBalanceReverts(uint256) (runs: 256, μ: 129591, ~: 108633) +ERC1155Test:testSafeTransferFromSelf(uint256) (runs: 256, μ: 142082, ~: 117857) +ERC1155Test:testSafeTransferFromSelfInsufficientBalanceReverts(uint256) (runs: 256, μ: 116352, ~: 81635) +ERC1155Test:testSafeTransferFromToEOA(uint256) (runs: 256, μ: 152043, ~: 130561) +ERC1155Test:testSafeTransferFromToERC1155Recipient(uint256) (runs: 256, μ: 1478875, ~: 740830) +ERC1155Test:testSafeTransferFromToNonERC155RecipientReverts(uint256) (runs: 256, μ: 179060, ~: 151301) +ERC1155Test:testSafeTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 256, μ: 356387, ~: 332045) +ERC1155Test:testSafeTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 256, μ: 323432, ~: 287122) +ERC1155Test:testSafeTransferFromToZeroReverts(uint256) (runs: 256, μ: 107677, ~: 80686) ERC1155Test:test__codesize() (gas: 42627) ERC1271Test:testBasefeeBytecodeContract() (gas: 45430) ERC1271Test:testIsValidSignature() (gas: 2374582) -ERC1271Test:testIsValidSignature(uint256) (runs: 313, μ: 238133, ~: 209786) +ERC1271Test:testIsValidSignature(uint256) (runs: 256, μ: 237601, ~: 209816) ERC1271Test:testSupportsNestedTypedDataSign() (gas: 165049) ERC1271Test:test__codesize() (gas: 30965) ERC1967FactoryTest:testChangeAdmin() (gas: 265913) ERC1967FactoryTest:testChangeAdminUnauthorized() (gas: 256913) ERC1967FactoryTest:testDeploy() (gas: 256955) -ERC1967FactoryTest:testDeployAndCall(uint256) (runs: 313, μ: 340040, ~: 340693) +ERC1967FactoryTest:testDeployAndCall(uint256) (runs: 256, μ: 340063, ~: 340701) ERC1967FactoryTest:testDeployAndCallWithRevert() (gas: 211455) -ERC1967FactoryTest:testDeployBrutalized(uint256) (runs: 313, μ: 99191, ~: 43570) -ERC1967FactoryTest:testDeployDeterministicAndCall(uint256) (runs: 313, μ: 318305, ~: 349635) +ERC1967FactoryTest:testDeployBrutalized(uint256) (runs: 256, μ: 96193, ~: 43570) +ERC1967FactoryTest:testDeployDeterministicAndCall(uint256) (runs: 256, μ: 318376, ~: 349635) ERC1967FactoryTest:testFactoryDeployment() (gas: 494423) ERC1967FactoryTest:testProxyFails() (gas: 258252) ERC1967FactoryTest:testProxySucceeds() (gas: 255277) @@ -217,45 +217,45 @@ ERC1967FactoryTest:test__codesize() (gas: 32279) ERC20Invariants:invariantBalanceSum() (runs: 10, calls: 150, reverts: 84) ERC20Invariants:test__codesize() (gas: 7532) ERC20Test:testApprove() (gas: 35730) -ERC20Test:testApprove(address,uint256) (runs: 313, μ: 31053, ~: 31181) +ERC20Test:testApprove(address,uint256) (runs: 256, μ: 31103, ~: 31181) ERC20Test:testBurn() (gas: 62048) -ERC20Test:testBurn(address,uint256,uint256) (runs: 313, μ: 62036, ~: 62663) -ERC20Test:testBurnInsufficientBalanceReverts(address,uint256,uint256) (runs: 313, μ: 56213, ~: 56578) -ERC20Test:testDirectSpendAllowance(uint256) (runs: 313, μ: 61337, ~: 61137) -ERC20Test:testDirectTransfer(uint256) (runs: 313, μ: 99276, ~: 111899) +ERC20Test:testBurn(address,uint256,uint256) (runs: 256, μ: 62235, ~: 62663) +ERC20Test:testBurnInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 56281, ~: 56578) +ERC20Test:testDirectSpendAllowance(uint256) (runs: 256, μ: 61356, ~: 61624) +ERC20Test:testDirectTransfer(uint256) (runs: 256, μ: 99086, ~: 111899) ERC20Test:testInfiniteApproveTransferFrom() (gas: 90288) ERC20Test:testMetadata() (gas: 16516) ERC20Test:testMint() (gas: 58700) -ERC20Test:testMint(address,uint256) (runs: 313, μ: 58688, ~: 58943) +ERC20Test:testMint(address,uint256) (runs: 256, μ: 58787, ~: 58943) ERC20Test:testMintOverMaxUintReverts() (gas: 55969) ERC20Test:testPermit() (gas: 89282) -ERC20Test:testPermit(uint256) (runs: 313, μ: 89255, ~: 89373) -ERC20Test:testPermitBadDeadlineReverts(uint256) (runs: 313, μ: 41139, ~: 41139) -ERC20Test:testPermitBadNonceReverts(uint256) (runs: 313, μ: 41557, ~: 41533) -ERC20Test:testPermitPastDeadlineReverts(uint256) (runs: 313, μ: 35665, ~: 35665) -ERC20Test:testPermitReplayReverts(uint256) (runs: 313, μ: 92082, ~: 92084) +ERC20Test:testPermit(uint256) (runs: 256, μ: 89224, ~: 89373) +ERC20Test:testPermitBadDeadlineReverts(uint256) (runs: 256, μ: 41140, ~: 41140) +ERC20Test:testPermitBadNonceReverts(uint256) (runs: 256, μ: 41557, ~: 41535) +ERC20Test:testPermitPastDeadlineReverts(uint256) (runs: 256, μ: 35669, ~: 35669) +ERC20Test:testPermitReplayReverts(uint256) (runs: 256, μ: 92084, ~: 92082) ERC20Test:testTransfer() (gas: 65514) -ERC20Test:testTransfer(address,uint256) (runs: 313, μ: 65475, ~: 65730) +ERC20Test:testTransfer(address,uint256) (runs: 256, μ: 65574, ~: 65730) ERC20Test:testTransferFrom() (gas: 85869) -ERC20Test:testTransferFrom(address,address,address,uint256,uint256) (runs: 313, μ: 92653, ~: 95053) +ERC20Test:testTransferFrom(address,address,address,uint256,uint256) (runs: 256, μ: 92827, ~: 95053) ERC20Test:testTransferFromInsufficientAllowanceReverts() (gas: 81760) -ERC20Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256) (runs: 313, μ: 82101, ~: 82275) +ERC20Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256) (runs: 256, μ: 82134, ~: 82275) ERC20Test:testTransferFromInsufficientBalanceReverts() (gas: 62108) -ERC20Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256) (runs: 313, μ: 62727, ~: 62710) +ERC20Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 62776, ~: 62710) ERC20Test:testTransferInsufficientBalanceReverts() (gas: 56113) -ERC20Test:testTransferInsufficientBalanceReverts(address,uint256,uint256) (runs: 313, μ: 56272, ~: 56637) +ERC20Test:testTransferInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 56340, ~: 56637) ERC20Test:test__codesize() (gas: 22868) -ERC2981Test:testRoyaltyOverflowCheckDifferential(uint256,uint256) (runs: 313, μ: 479, ~: 480) -ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 313, μ: 106948, ~: 104398) +ERC2981Test:testRoyaltyOverflowCheckDifferential(uint256,uint256) (runs: 256, μ: 480, ~: 480) +ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 256, μ: 106736, ~: 104400) ERC2981Test:test__codesize() (gas: 7247) ERC4337FactoryTest:testCreateAccountRepeatedDeployment() (gas: 149753) -ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 313, μ: 171336, ~: 171295) -ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 313, μ: 130661, ~: 139611) +ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 256, μ: 171337, ~: 171295) +ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 256, μ: 130620, ~: 139611) ERC4337FactoryTest:test__codesize() (gas: 13049) ERC4337Test:testCdFallback() (gas: 438041) ERC4337Test:testCdFallback2() (gas: 1135303) ERC4337Test:testDelegateExecute() (gas: 366407) -ERC4337Test:testDelegateExecute(uint256) (runs: 313, μ: 356254, ~: 345250) +ERC4337Test:testDelegateExecute(uint256) (runs: 256, μ: 356593, ~: 345250) ERC4337Test:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 320067) ERC4337Test:testDepositFunctions() (gas: 497021) ERC4337Test:testDirectStorage() (gas: 70503) @@ -263,10 +263,10 @@ ERC4337Test:testDisableInitializerForImplementation() (gas: 1335854) ERC4337Test:testETHReceived() (gas: 16584) ERC4337Test:testExecute() (gas: 383460) ERC4337Test:testExecuteBatch() (gas: 694187) -ERC4337Test:testExecuteBatch(uint256) (runs: 313, μ: 552767, ~: 670564) +ERC4337Test:testExecuteBatch(uint256) (runs: 256, μ: 542278, ~: 574709) ERC4337Test:testInitializer() (gas: 285469) ERC4337Test:testIsValidSignature() (gas: 120389) -ERC4337Test:testIsValidSignaturePersonalSign(bytes32) (runs: 313, μ: 103667, ~: 103792) +ERC4337Test:testIsValidSignaturePersonalSign(bytes32) (runs: 256, μ: 103658, ~: 103792) ERC4337Test:testIsValidSignatureViaRPC() (gas: 96881547) ERC4337Test:testIsValidSignatureWrapped() (gas: 446290) ERC4337Test:testOnERC1155BatchReceived() (gas: 1567013) @@ -277,15 +277,15 @@ ERC4337Test:testValidateUserOp() (gas: 484606) ERC4337Test:test__codesize() (gas: 57576) ERC4626Test:testDepositWithNoApprovalReverts() (gas: 16569) ERC4626Test:testDepositWithNotEnoughApprovalReverts() (gas: 90179) -ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 313, μ: 3318, ~: 3107) +ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 256, μ: 3311, ~: 3107) 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: 313, μ: 201955, ~: 201960) -ERC4626Test:testSingleMintRedeem(uint128) (runs: 313, μ: 200921, ~: 200926) +ERC4626Test:testSingleDepositWithdraw(uint128) (runs: 256, μ: 201956, ~: 201960) +ERC4626Test:testSingleMintRedeem(uint128) (runs: 256, μ: 200921, ~: 200926) ERC4626Test:testTryGetAssetDecimals() (gas: 31508026) ERC4626Test:testUseVirtualShares() (gas: 2428448) ERC4626Test:testVaultInteractionsForSomeoneElse() (gas: 296637) @@ -296,292 +296,292 @@ ERC4626Test:testWithdrawZero() (gas: 51874) ERC4626Test:test__codesize() (gas: 37159) ERC6551Test:testBaseFeeMini() (gas: 39514) ERC6551Test:testCdFallback() (gas: 895410) -ERC6551Test:testDeployERC6551(uint256) (runs: 313, μ: 169794, ~: 168368) +ERC6551Test:testDeployERC6551(uint256) (runs: 256, μ: 169946, ~: 168368) ERC6551Test:testDeployERC6551Proxy() (gas: 80395) ERC6551Test:testExecute() (gas: 507128) ERC6551Test:testExecuteBatch() (gas: 817215) -ERC6551Test:testExecuteBatch(uint256) (runs: 313, μ: 658911, ~: 768680) +ERC6551Test:testExecuteBatch(uint256) (runs: 256, μ: 655820, ~: 768676) ERC6551Test:testInitializeERC6551ProxyImplementation() (gas: 189772) -ERC6551Test:testIsValidSigner(address) (runs: 313, μ: 167134, ~: 167120) +ERC6551Test:testIsValidSigner(address) (runs: 256, μ: 167135, ~: 167122) ERC6551Test:testOnERC1155BatchReceived() (gas: 1702178) ERC6551Test:testOnERC1155Received() (gas: 1699450) ERC6551Test:testOnERC721Received() (gas: 1738043) ERC6551Test:testOnERC721ReceivedCycles() (gas: 2910842) -ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 313, μ: 449746, ~: 454718) -ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 313, μ: 1386479, ~: 1386487) +ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 256, μ: 449188, ~: 454608) +ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 256, μ: 1386474, ~: 1386487) ERC6551Test:testSupportsInterface() (gas: 168794) -ERC6551Test:testUpdateState(uint256) (runs: 313, μ: 234531, ~: 234457) +ERC6551Test:testUpdateState(uint256) (runs: 256, μ: 234548, ~: 234461) ERC6551Test:testUpgrade() (gas: 248210) ERC6551Test:test__codesize() (gas: 52683) ERC6909Test:testApprove() (gas: 36872) -ERC6909Test:testApprove(address,uint256,uint256) (runs: 313, μ: 37386, ~: 37514) +ERC6909Test:testApprove(address,uint256,uint256) (runs: 256, μ: 37436, ~: 37514) ERC6909Test:testBurn() (gas: 40870) -ERC6909Test:testBurn(address,uint256,uint256,uint256) (runs: 313, μ: 40696, ~: 41381) -ERC6909Test:testBurnInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 313, μ: 35046, ~: 35166) +ERC6909Test:testBurn(address,uint256,uint256,uint256) (runs: 256, μ: 40651, ~: 41381) +ERC6909Test:testBurnInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 256, μ: 35080, ~: 35166) ERC6909Test:testDecimals() (gas: 5676) ERC6909Test:testDirectApprove() (gas: 36737) -ERC6909Test:testDirectFunctions(uint256) (runs: 313, μ: 199928, ~: 200653) +ERC6909Test:testDirectFunctions(uint256) (runs: 256, μ: 199458, ~: 200633) ERC6909Test:testDirectSetOperator() (gas: 35937) ERC6909Test:testDirectTransfer() (gas: 66221) ERC6909Test:testInfiniteApproveTransferFrom() (gas: 78590) -ERC6909Test:testMetadata(uint256) (runs: 313, μ: 8257, ~: 8257) +ERC6909Test:testMetadata(uint256) (runs: 256, μ: 8257, ~: 8257) ERC6909Test:testMint() (gas: 37035) -ERC6909Test:testMint(address,uint256,uint256) (runs: 313, μ: 37143, ~: 37271) +ERC6909Test:testMint(address,uint256,uint256) (runs: 256, μ: 37193, ~: 37271) ERC6909Test:testMintOverMaxUintReverts() (gas: 34604) -ERC6909Test:testMintOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 313, μ: 35514, ~: 35528) +ERC6909Test:testMintOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 256, μ: 35513, ~: 35528) ERC6909Test:testOperatorTransferFrom() (gas: 74112) ERC6909Test:testSetOperator() (gas: 37139) -ERC6909Test:testSetOperator(address,address,bool) (runs: 313, μ: 26303, ~: 16767) +ERC6909Test:testSetOperator(address,address,bool) (runs: 256, μ: 26406, ~: 16767) ERC6909Test:testTokenURI() (gas: 32671) ERC6909Test:testTransfer() (gas: 48262) -ERC6909Test:testTransfer(address,uint256,uint256) (runs: 313, μ: 47259, ~: 47390) +ERC6909Test:testTransfer(address,uint256,uint256) (runs: 256, μ: 47318, ~: 47396) ERC6909Test:testTransferFrom() (gas: 74676) -ERC6909Test:testTransferFrom(address,address,address,uint256,uint256,uint256) (runs: 313, μ: 79965, ~: 81173) -ERC6909Test:testTransferFromCallerIsNotOperator(address,uint256,uint256) (runs: 313, μ: 39606, ~: 39606) -ERC6909Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256,uint256) (runs: 313, μ: 67205, ~: 67771) +ERC6909Test:testTransferFrom(address,address,address,uint256,uint256,uint256) (runs: 256, μ: 80006, ~: 81173) +ERC6909Test:testTransferFromCallerIsNotOperator(address,uint256,uint256) (runs: 256, μ: 39606, ~: 39606) +ERC6909Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256,uint256) (runs: 256, μ: 67220, ~: 67771) ERC6909Test:testTransferFromInsufficientBalanceReverts() (gas: 49861) -ERC6909Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 313, μ: 50476, ~: 50092) +ERC6909Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 256, μ: 50557, ~: 50090) ERC6909Test:testTransferFromInsufficientPermission() (gas: 67246) ERC6909Test:testTransferFromOverMaxUintReverts() (gas: 90493) -ERC6909Test:testTransferFromOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 313, μ: 113399, ~: 113592) +ERC6909Test:testTransferFromOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 256, μ: 113354, ~: 113593) ERC6909Test:testTransferInsufficientBalanceReverts() (gas: 34728) -ERC6909Test:testTransferInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 313, μ: 34895, ~: 35270) +ERC6909Test:testTransferInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 256, μ: 34875, ~: 35270) ERC6909Test:testTransferOverMaxUintReverts() (gas: 63748) -ERC6909Test:testTransferOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 313, μ: 64304, ~: 64292) +ERC6909Test:testTransferOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 256, μ: 64305, ~: 64293) ERC6909Test:test__codesize() (gas: 25915) ERC721HooksTest:testERC721Hooks() (gas: 3183310) ERC721HooksTest:test__codesize() (gas: 11072) -ERC721Test:testApprove(uint256) (runs: 313, μ: 107757, ~: 107561) -ERC721Test:testApproveAll(uint256) (runs: 313, μ: 50170, ~: 59583) -ERC721Test:testApproveBurn(uint256) (runs: 313, μ: 86292, ~: 86143) -ERC721Test:testApproveNonExistentReverts(uint256,address) (runs: 313, μ: 33463, ~: 33471) -ERC721Test:testApproveUnauthorizedReverts(uint256) (runs: 313, μ: 83075, ~: 84124) -ERC721Test:testAuthorizedEquivalence(address,bool,bool) (runs: 313, μ: 684, ~: 678) -ERC721Test:testAux(uint256) (runs: 313, μ: 192584, ~: 191199) -ERC721Test:testBurn(uint256) (runs: 313, μ: 81628, ~: 68912) -ERC721Test:testBurnNonExistentReverts(uint256) (runs: 313, μ: 10805, ~: 10805) +ERC721Test:testApprove(uint256) (runs: 256, μ: 107751, ~: 107561) +ERC721Test:testApproveAll(uint256) (runs: 256, μ: 50378, ~: 59583) +ERC721Test:testApproveBurn(uint256) (runs: 256, μ: 86298, ~: 86288) +ERC721Test:testApproveNonExistentReverts(uint256,address) (runs: 256, μ: 33463, ~: 33471) +ERC721Test:testApproveUnauthorizedReverts(uint256) (runs: 256, μ: 83037, ~: 82418) +ERC721Test:testAuthorizedEquivalence(address,bool,bool) (runs: 256, μ: 684, ~: 678) +ERC721Test:testAux(uint256) (runs: 256, μ: 192635, ~: 191445) +ERC721Test:testBurn(uint256) (runs: 256, μ: 82422, ~: 93566) +ERC721Test:testBurnNonExistentReverts(uint256) (runs: 256, μ: 10805, ~: 10805) ERC721Test:testCannotExceedMaxBalance() (gas: 169848) -ERC721Test:testDoubleBurnReverts(uint256) (runs: 313, μ: 63402, ~: 63412) -ERC721Test:testDoubleMintReverts(uint256) (runs: 313, μ: 79001, ~: 79014) -ERC721Test:testEverything(uint256) (runs: 313, μ: 289953, ~: 300968) -ERC721Test:testExtraData(uint256) (runs: 313, μ: 98804, ~: 98731) -ERC721Test:testExtraData2(uint256,uint256) (runs: 313, μ: 53889, ~: 53889) -ERC721Test:testIsApprovedOrOwner(uint256) (runs: 313, μ: 135438, ~: 135427) -ERC721Test:testMint(uint256) (runs: 313, μ: 82599, ~: 82558) -ERC721Test:testMintAndSetExtraDataUnchecked(uint256) (runs: 313, μ: 84231, ~: 84319) -ERC721Test:testMintAndSetExtraDataUncheckedWithOverwrite(uint256,uint96) (runs: 313, μ: 83683, ~: 83678) -ERC721Test:testMintToZeroReverts(uint256) (runs: 313, μ: 39510, ~: 39510) -ERC721Test:testOwnerOfNonExistent(uint256) (runs: 313, μ: 33175, ~: 33185) -ERC721Test:testSafeMintToEOA(uint256) (runs: 313, μ: 83032, ~: 83117) -ERC721Test:testSafeMintToERC721Recipient(uint256) (runs: 313, μ: 409375, ~: 409728) -ERC721Test:testSafeMintToERC721RecipientWithData(uint256,bytes) (runs: 313, μ: 459415, ~: 453669) -ERC721Test:testSafeMintToERC721RecipientWithWrongReturnData(uint256) (runs: 313, μ: 170407, ~: 170407) -ERC721Test:testSafeMintToERC721RecipientWithWrongReturnDataWithData(uint256,bytes) (runs: 313, μ: 171612, ~: 171569) -ERC721Test:testSafeMintToNonERC721RecipientReverts(uint256) (runs: 313, μ: 100507, ~: 100507) -ERC721Test:testSafeMintToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 313, μ: 101744, ~: 101701) -ERC721Test:testSafeMintToRevertingERC721RecipientReverts(uint256) (runs: 313, μ: 203343, ~: 203343) -ERC721Test:testSafeMintToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 313, μ: 204569, ~: 204526) -ERC721Test:testSafeTransferFromToEOA(uint256) (runs: 313, μ: 121529, ~: 121523) -ERC721Test:testSafeTransferFromToERC721Recipient(uint256) (runs: 313, μ: 470749, ~: 471194) -ERC721Test:testSafeTransferFromToERC721RecipientWithData(uint256,bytes) (runs: 313, μ: 520813, ~: 514991) -ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataReverts(uint256) (runs: 313, μ: 201387, ~: 201420) -ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataWithDataReverts(uint256,bytes) (runs: 313, μ: 202697, ~: 202710) -ERC721Test:testSafeTransferFromToNonERC721RecipientReverts(uint256) (runs: 313, μ: 131493, ~: 131523) -ERC721Test:testSafeTransferFromToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 313, μ: 132789, ~: 132802) -ERC721Test:testSafeTransferFromToRevertingERC721RecipientReverts(uint256) (runs: 313, μ: 234343, ~: 234311) -ERC721Test:testSafeTransferFromToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 313, μ: 235581, ~: 235600) -ERC721Test:testSafetyOfCustomStorage(uint256,uint256) (runs: 313, μ: 713, ~: 713) +ERC721Test:testDoubleBurnReverts(uint256) (runs: 256, μ: 63403, ~: 63412) +ERC721Test:testDoubleMintReverts(uint256) (runs: 256, μ: 79002, ~: 79014) +ERC721Test:testEverything(uint256) (runs: 256, μ: 286725, ~: 300882) +ERC721Test:testExtraData(uint256) (runs: 256, μ: 98826, ~: 98763) +ERC721Test:testExtraData2(uint256,uint256) (runs: 256, μ: 53889, ~: 53889) +ERC721Test:testIsApprovedOrOwner(uint256) (runs: 256, μ: 135458, ~: 135484) +ERC721Test:testMint(uint256) (runs: 256, μ: 82597, ~: 82558) +ERC721Test:testMintAndSetExtraDataUnchecked(uint256) (runs: 256, μ: 84232, ~: 84319) +ERC721Test:testMintAndSetExtraDataUncheckedWithOverwrite(uint256,uint96) (runs: 256, μ: 83683, ~: 83678) +ERC721Test:testMintToZeroReverts(uint256) (runs: 256, μ: 39510, ~: 39510) +ERC721Test:testOwnerOfNonExistent(uint256) (runs: 256, μ: 33174, ~: 33185) +ERC721Test:testSafeMintToEOA(uint256) (runs: 256, μ: 83031, ~: 82947) +ERC721Test:testSafeMintToERC721Recipient(uint256) (runs: 256, μ: 409509, ~: 409728) +ERC721Test:testSafeMintToERC721RecipientWithData(uint256,bytes) (runs: 256, μ: 460124, ~: 453669) +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, μ: 121529, ~: 121523) +ERC721Test:testSafeTransferFromToERC721Recipient(uint256) (runs: 256, μ: 470889, ~: 471203) +ERC721Test:testSafeTransferFromToERC721RecipientWithData(uint256,bytes) (runs: 256, μ: 521522, ~: 515028) +ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataReverts(uint256) (runs: 256, μ: 201388, ~: 201420) +ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataWithDataReverts(uint256,bytes) (runs: 256, μ: 202696, ~: 202710) +ERC721Test:testSafeTransferFromToNonERC721RecipientReverts(uint256) (runs: 256, μ: 131491, ~: 131523) +ERC721Test:testSafeTransferFromToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 256, μ: 132790, ~: 132802) +ERC721Test:testSafeTransferFromToRevertingERC721RecipientReverts(uint256) (runs: 256, μ: 234344, ~: 234311) +ERC721Test:testSafeTransferFromToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 256, μ: 235581, ~: 235600) +ERC721Test:testSafetyOfCustomStorage(uint256,uint256) (runs: 256, μ: 713, ~: 713) ERC721Test:testTransferFrom() (gas: 85739) -ERC721Test:testTransferFrom(uint256) (runs: 313, μ: 113379, ~: 112188) -ERC721Test:testTransferFromApproveAll(uint256) (runs: 313, μ: 118760, ~: 118733) -ERC721Test:testTransferFromNotExistentReverts(address,address,uint256) (runs: 313, μ: 34038, ~: 33940) -ERC721Test:testTransferFromNotOwner(uint256) (runs: 313, μ: 84547, ~: 84636) -ERC721Test:testTransferFromSelf(uint256) (runs: 313, μ: 92235, ~: 92237) -ERC721Test:testTransferFromToZeroReverts(uint256) (runs: 313, μ: 62889, ~: 62831) -ERC721Test:testTransferFromWrongFromReverts(address,uint256) (runs: 313, μ: 80278, ~: 80355) +ERC721Test:testTransferFrom(uint256) (runs: 256, μ: 113491, ~: 112180) +ERC721Test:testTransferFromApproveAll(uint256) (runs: 256, μ: 118756, ~: 118747) +ERC721Test:testTransferFromNotExistentReverts(address,address,uint256) (runs: 256, μ: 34040, ~: 33940) +ERC721Test:testTransferFromNotOwner(uint256) (runs: 256, μ: 84550, ~: 84636) +ERC721Test:testTransferFromSelf(uint256) (runs: 256, μ: 92237, ~: 92265) +ERC721Test:testTransferFromToZeroReverts(uint256) (runs: 256, μ: 62885, ~: 62828) +ERC721Test:testTransferFromWrongFromReverts(address,uint256) (runs: 256, μ: 80279, ~: 80355) ERC721Test:test__codesize() (gas: 43206) EfficientHashLibTest:testEfficientHash() (gas: 7544) -EfficientHashLibTest:testEfficientHash(uint256) (runs: 313, μ: 7615, ~: 7615) +EfficientHashLibTest:testEfficientHash(uint256) (runs: 256, μ: 7615, ~: 7615) EfficientHashLibTest:testEfficientHashFree() (gas: 372) -EfficientHashLibTest:testEfficientHashFree(uint8,bool,uint8) (runs: 313, μ: 972, ~: 908) +EfficientHashLibTest:testEfficientHashFree(uint8,bool,uint8) (runs: 256, μ: 961, ~: 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: 313, μ: 47841, ~: 39039) +EnumerableSetLibTest:testEnumerableAddressSetRevertsOnSentinel(uint256) (runs: 256, μ: 47174, ~: 38848) EnumerableSetLibTest:testEnumerableBytes32SetBasic() (gas: 271282) EnumerableSetLibTest:testEnumerableBytes32SetBasic2() (gas: 178471) EnumerableSetLibTest:testEnumerableBytes32SetNoStorageCollision() (gas: 103477) -EnumerableSetLibTest:testEnumerableBytes32SetRevertsOnSentinel(uint256) (runs: 313, μ: 51731, ~: 49215) -EnumerableSetLibTest:testEnumerableSetFuzz(uint256) (runs: 313, μ: 592867, ~: 510694) +EnumerableSetLibTest:testEnumerableBytes32SetRevertsOnSentinel(uint256) (runs: 256, μ: 52232, ~: 49215) +EnumerableSetLibTest:testEnumerableSetFuzz(uint256) (runs: 256, μ: 602908, ~: 508798) EnumerableSetLibTest:test__codesize() (gas: 14243) FixedPointMathLibTest:testAbs() (gas: 702) -FixedPointMathLibTest:testAbs(int256) (runs: 313, μ: 488, ~: 457) +FixedPointMathLibTest:testAbs(int256) (runs: 256, μ: 489, ~: 457) FixedPointMathLibTest:testAbsEdgeCases() (gas: 469) FixedPointMathLibTest:testAvg() (gas: 443) FixedPointMathLibTest:testAvgEdgeCase() (gas: 470) FixedPointMathLibTest:testAvgSigned() (gas: 900) FixedPointMathLibTest:testCbrt() (gas: 10283) -FixedPointMathLibTest:testCbrt(uint256) (runs: 313, μ: 1522, ~: 1535) -FixedPointMathLibTest:testCbrtBack(uint256) (runs: 313, μ: 34606, ~: 42887) +FixedPointMathLibTest:testCbrt(uint256) (runs: 256, μ: 1521, ~: 1535) +FixedPointMathLibTest:testCbrtBack(uint256) (runs: 256, μ: 34153, ~: 42245) FixedPointMathLibTest:testCbrtWad() (gas: 12051) -FixedPointMathLibTest:testCbrtWad(uint256) (runs: 313, μ: 2148, ~: 1973) +FixedPointMathLibTest:testCbrtWad(uint256) (runs: 256, μ: 2149, ~: 1973) FixedPointMathLibTest:testCbrtWadConverged() (gas: 2664) -FixedPointMathLibTest:testCbrtWadConverged(uint256) (runs: 313, μ: 2184, ~: 2236) +FixedPointMathLibTest:testCbrtWadConverged(uint256) (runs: 256, μ: 2185, ~: 2236) FixedPointMathLibTest:testCbrtWadDebug() (gas: 7338) FixedPointMathLibTest:testCbrtWadMonotonicallyIncreasing() (gas: 4140) -FixedPointMathLibTest:testCbrtWadMonotonicallyIncreasing(uint256,uint256) (runs: 313, μ: 3082, ~: 2933) -FixedPointMathLibTest:testClamp(uint256,uint256,uint256) (runs: 313, μ: 569, ~: 568) -FixedPointMathLibTest:testClampSigned(int256,int256,int256) (runs: 313, μ: 548, ~: 547) +FixedPointMathLibTest:testCbrtWadMonotonicallyIncreasing(uint256,uint256) (runs: 256, μ: 3028, ~: 2933) +FixedPointMathLibTest:testClamp(uint256,uint256,uint256) (runs: 256, μ: 569, ~: 568) +FixedPointMathLibTest:testClampSigned(int256,int256,int256) (runs: 256, μ: 547, ~: 547) FixedPointMathLibTest:testDist() (gas: 678) -FixedPointMathLibTest:testDist(int256,int256) (runs: 313, μ: 541, ~: 537) +FixedPointMathLibTest:testDist(int256,int256) (runs: 256, μ: 542, ~: 547) FixedPointMathLibTest:testDistEdgeCases() (gas: 570) FixedPointMathLibTest:testDivWad() (gas: 747) -FixedPointMathLibTest:testDivWad(uint256,uint256) (runs: 313, μ: 6998, ~: 891) +FixedPointMathLibTest:testDivWad(uint256,uint256) (runs: 256, μ: 7528, ~: 891) FixedPointMathLibTest:testDivWadEdgeCases() (gas: 414) -FixedPointMathLibTest:testDivWadOverflowReverts(uint256,uint256) (runs: 313, μ: 22403, ~: 26501) +FixedPointMathLibTest:testDivWadOverflowReverts(uint256,uint256) (runs: 256, μ: 21995, ~: 26501) FixedPointMathLibTest:testDivWadUp() (gas: 3129) -FixedPointMathLibTest:testDivWadUp(uint256,uint256) (runs: 313, μ: 7210, ~: 1009) +FixedPointMathLibTest:testDivWadUp(uint256,uint256) (runs: 256, μ: 7672, ~: 1009) FixedPointMathLibTest:testDivWadUpEdgeCases() (gas: 439) -FixedPointMathLibTest:testDivWadUpOverflowReverts(uint256,uint256) (runs: 313, μ: 22406, ~: 26500) +FixedPointMathLibTest:testDivWadUpOverflowReverts(uint256,uint256) (runs: 256, μ: 22015, ~: 26500) FixedPointMathLibTest:testDivWadUpZeroDenominatorReverts() (gas: 3261) -FixedPointMathLibTest:testDivWadUpZeroDenominatorReverts(uint256) (runs: 313, μ: 3295, ~: 3295) +FixedPointMathLibTest:testDivWadUpZeroDenominatorReverts(uint256) (runs: 256, μ: 3295, ~: 3295) FixedPointMathLibTest:testDivWadZeroDenominatorReverts() (gas: 3218) -FixedPointMathLibTest:testDivWadZeroDenominatorReverts(uint256) (runs: 313, μ: 3337, ~: 3337) +FixedPointMathLibTest:testDivWadZeroDenominatorReverts(uint256) (runs: 256, μ: 3337, ~: 3337) FixedPointMathLibTest:testExpWad() (gas: 8047) FixedPointMathLibTest:testFactorial() (gas: 98491) FixedPointMathLibTest:testFactorialOriginal() (gas: 94187) FixedPointMathLibTest:testFullMulDiv() (gas: 1128) -FixedPointMathLibTest:testFullMulDiv(uint256,uint256,uint256) (runs: 313, μ: 1396, ~: 983) -FixedPointMathLibTest:testFullMulDivAlwaysRevertsIfDivisorIsZero(uint256,uint256) (runs: 313, μ: 3478, ~: 3478) +FixedPointMathLibTest:testFullMulDiv(uint256,uint256,uint256) (runs: 256, μ: 1360, ~: 983) +FixedPointMathLibTest:testFullMulDivAlwaysRevertsIfDivisorIsZero(uint256,uint256) (runs: 256, μ: 3478, ~: 3478) FixedPointMathLibTest:testFullMulDivUnchecked() (gas: 1635) -FixedPointMathLibTest:testFullMulDivUnchecked(uint256,uint256,uint256) (runs: 313, μ: 1668, ~: 1565) -FixedPointMathLibTest:testFullMulDivUp(uint256,uint256,uint256) (runs: 313, μ: 1749, ~: 1427) +FixedPointMathLibTest:testFullMulDivUnchecked(uint256,uint256,uint256) (runs: 256, μ: 1664, ~: 1565) +FixedPointMathLibTest:testFullMulDivUp(uint256,uint256,uint256) (runs: 256, μ: 1723, ~: 1427) FixedPointMathLibTest:testFullMulDivUpRevertsIfRoundedUpResultOverflowsCase1() (gas: 3694) FixedPointMathLibTest:testFullMulDivUpRevertsIfRoundedUpResultOverflowsCase2() (gas: 3727) FixedPointMathLibTest:testGcd() (gas: 4206) -FixedPointMathLibTest:testGcd(uint256,uint256) (runs: 313, μ: 6633, ~: 2822) -FixedPointMathLibTest:testIsEven(uint256) (runs: 313, μ: 519, ~: 519) +FixedPointMathLibTest:testGcd(uint256,uint256) (runs: 256, μ: 6589, ~: 2822) +FixedPointMathLibTest:testIsEven(uint256) (runs: 256, μ: 519, ~: 519) FixedPointMathLibTest:testLambertW0WadAccuracy() (gas: 7160) -FixedPointMathLibTest:testLambertW0WadAccuracy(uint184) (runs: 313, μ: 2435, ~: 431) +FixedPointMathLibTest:testLambertW0WadAccuracy(uint184) (runs: 256, μ: 2406, ~: 431) FixedPointMathLibTest:testLambertW0WadKnownValues() (gas: 1685570) FixedPointMathLibTest:testLambertW0WadMonoDebug() (gas: 770645) FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasing() (gas: 18416531) -FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasing(int256,int256) (runs: 313, μ: 7231, ~: 6978) +FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasing(int256,int256) (runs: 256, μ: 7166, ~: 6978) FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasing2() (gas: 4035368) -FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasingAround(int256) (runs: 313, μ: 29426, ~: 35428) -FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasingAround2(uint96) (runs: 313, μ: 50781, ~: 17640) +FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasingAround(int256) (runs: 256, μ: 29401, ~: 35428) +FixedPointMathLibTest:testLambertW0WadMonotonicallyIncreasingAround2(uint96) (runs: 256, μ: 41241, ~: 17640) FixedPointMathLibTest:testLambertW0WadRevertsForOutOfDomain() (gas: 16608) FixedPointMathLibTest:testLambertW0WadWithinBounds() (gas: 122061) -FixedPointMathLibTest:testLambertW0WadWithinBounds(int256) (runs: 313, μ: 3758, ~: 4984) +FixedPointMathLibTest:testLambertW0WadWithinBounds(int256) (runs: 256, μ: 3741, ~: 4984) FixedPointMathLibTest:testLerpInt() (gas: 6461) -FixedPointMathLibTest:testLerpInt(int256,int256,int256,int256,int256) (runs: 313, μ: 1654, ~: 1198) +FixedPointMathLibTest:testLerpInt(int256,int256,int256,int256,int256) (runs: 256, μ: 1657, ~: 1198) FixedPointMathLibTest:testLerpUint() (gas: 6442) -FixedPointMathLibTest:testLerpUint(uint256,uint256,uint256,uint256,uint256) (runs: 313, μ: 1094, ~: 797) +FixedPointMathLibTest:testLerpUint(uint256,uint256,uint256,uint256,uint256) (runs: 256, μ: 1067, ~: 797) FixedPointMathLibTest:testLnWad() (gas: 2054) FixedPointMathLibTest:testLnWadBig() (gas: 2087) FixedPointMathLibTest:testLnWadNegativeReverts() (gas: 3318) FixedPointMathLibTest:testLnWadOverflowReverts() (gas: 3316) FixedPointMathLibTest:testLnWadSmall() (gas: 2644) FixedPointMathLibTest:testLog10() (gas: 76168) -FixedPointMathLibTest:testLog10(uint256,uint256) (runs: 313, μ: 2161, ~: 2195) +FixedPointMathLibTest:testLog10(uint256,uint256) (runs: 256, μ: 2166, ~: 2195) FixedPointMathLibTest:testLog10Up() (gas: 4369) FixedPointMathLibTest:testLog2() (gas: 243209) FixedPointMathLibTest:testLog256() (gas: 22831) -FixedPointMathLibTest:testLog256(uint256,uint256) (runs: 313, μ: 2086, ~: 2152) +FixedPointMathLibTest:testLog256(uint256,uint256) (runs: 256, μ: 2092, ~: 2152) FixedPointMathLibTest:testLog256Up() (gas: 1293) -FixedPointMathLibTest:testLog2Differential(uint256) (runs: 313, μ: 889, ~: 886) +FixedPointMathLibTest:testLog2Differential(uint256) (runs: 256, μ: 890, ~: 886) FixedPointMathLibTest:testLog2Up() (gas: 297368) -FixedPointMathLibTest:testMax(uint256,uint256) (runs: 313, μ: 476, ~: 472) -FixedPointMathLibTest:testMaxCasted(uint32,uint32,uint256) (runs: 313, μ: 891, ~: 896) -FixedPointMathLibTest:testMaxSigned(int256,int256) (runs: 313, μ: 520, ~: 525) -FixedPointMathLibTest:testMin(uint256,uint256) (runs: 313, μ: 477, ~: 482) -FixedPointMathLibTest:testMinBrutalized(uint256,uint256) (runs: 313, μ: 872, ~: 863) -FixedPointMathLibTest:testMinSigned(int256,int256) (runs: 313, μ: 497, ~: 493) +FixedPointMathLibTest:testMax(uint256,uint256) (runs: 256, μ: 476, ~: 472) +FixedPointMathLibTest:testMaxCasted(uint32,uint32,uint256) (runs: 256, μ: 891, ~: 896) +FixedPointMathLibTest:testMaxSigned(int256,int256) (runs: 256, μ: 519, ~: 515) +FixedPointMathLibTest:testMin(uint256,uint256) (runs: 256, μ: 477, ~: 482) +FixedPointMathLibTest:testMinBrutalized(uint256,uint256) (runs: 256, μ: 873, ~: 883) +FixedPointMathLibTest:testMinSigned(int256,int256) (runs: 256, μ: 498, ~: 503) FixedPointMathLibTest:testMulDiv() (gas: 1890) -FixedPointMathLibTest:testMulDiv(uint256,uint256,uint256) (runs: 313, μ: 1664, ~: 858) +FixedPointMathLibTest:testMulDiv(uint256,uint256,uint256) (runs: 256, μ: 1625, ~: 858) FixedPointMathLibTest:testMulDivEdgeCases() (gas: 784) -FixedPointMathLibTest:testMulDivOverflowReverts(uint256,uint256,uint256) (runs: 313, μ: 20174, ~: 27078) +FixedPointMathLibTest:testMulDivOverflowReverts(uint256,uint256,uint256) (runs: 256, μ: 20555, ~: 27078) FixedPointMathLibTest:testMulDivUp() (gas: 2148) -FixedPointMathLibTest:testMulDivUp(uint256,uint256,uint256) (runs: 313, μ: 1832, ~: 1121) +FixedPointMathLibTest:testMulDivUp(uint256,uint256,uint256) (runs: 256, μ: 1802, ~: 1121) FixedPointMathLibTest:testMulDivUpEdgeCases() (gas: 817) -FixedPointMathLibTest:testMulDivUpOverflowReverts(uint256,uint256,uint256) (runs: 313, μ: 20170, ~: 27044) +FixedPointMathLibTest:testMulDivUpOverflowReverts(uint256,uint256,uint256) (runs: 256, μ: 20543, ~: 27050) FixedPointMathLibTest:testMulDivUpZeroDenominator() (gas: 3234) -FixedPointMathLibTest:testMulDivUpZeroDenominatorReverts(uint256,uint256) (runs: 313, μ: 3357, ~: 3357) +FixedPointMathLibTest:testMulDivUpZeroDenominatorReverts(uint256,uint256) (runs: 256, μ: 3357, ~: 3357) FixedPointMathLibTest:testMulDivZeroDenominatorReverts() (gas: 3256) -FixedPointMathLibTest:testMulDivZeroDenominatorReverts(uint256,uint256) (runs: 313, μ: 3380, ~: 3380) +FixedPointMathLibTest:testMulDivZeroDenominatorReverts(uint256,uint256) (runs: 256, μ: 3380, ~: 3380) FixedPointMathLibTest:testMulWad() (gas: 736) -FixedPointMathLibTest:testMulWad(uint256,uint256) (runs: 313, μ: 718, ~: 855) +FixedPointMathLibTest:testMulWad(uint256,uint256) (runs: 256, μ: 721, ~: 855) FixedPointMathLibTest:testMulWadEdgeCases() (gas: 714) -FixedPointMathLibTest:testMulWadOverflowReverts(uint256,uint256) (runs: 313, μ: 18716, ~: 26336) +FixedPointMathLibTest:testMulWadOverflowReverts(uint256,uint256) (runs: 256, μ: 18865, ~: 26336) FixedPointMathLibTest:testMulWadUp() (gas: 837) -FixedPointMathLibTest:testMulWadUp(uint256,uint256) (runs: 313, μ: 21289, ~: 1065) +FixedPointMathLibTest:testMulWadUp(uint256,uint256) (runs: 256, μ: 21198, ~: 1065) FixedPointMathLibTest:testMulWadUpEdgeCases() (gas: 815) -FixedPointMathLibTest:testMulWadUpOverflowReverts(uint256,uint256) (runs: 313, μ: 18745, ~: 26379) +FixedPointMathLibTest:testMulWadUpOverflowReverts(uint256,uint256) (runs: 256, μ: 18891, ~: 26379) FixedPointMathLibTest:testPackUnpackSci() (gas: 129327) -FixedPointMathLibTest:testPackUnpackSci(uint256) (runs: 313, μ: 30410, ~: 30420) +FixedPointMathLibTest:testPackUnpackSci(uint256) (runs: 256, μ: 30410, ~: 30414) FixedPointMathLibTest:testRPow() (gas: 3320) FixedPointMathLibTest:testRPowOverflowReverts() (gas: 4974) -FixedPointMathLibTest:testRawAdd(int256,int256) (runs: 313, μ: 462, ~: 462) -FixedPointMathLibTest:testRawAdd(uint256,uint256) (runs: 313, μ: 463, ~: 463) -FixedPointMathLibTest:testRawAddMod(uint256,uint256,uint256) (runs: 313, μ: 512, ~: 512) -FixedPointMathLibTest:testRawDiv(uint256,uint256) (runs: 313, μ: 443, ~: 443) -FixedPointMathLibTest:testRawMod(uint256,uint256) (runs: 313, μ: 464, ~: 464) -FixedPointMathLibTest:testRawMul(int256,int256) (runs: 313, μ: 412, ~: 412) -FixedPointMathLibTest:testRawMul(uint256,uint256) (runs: 313, μ: 485, ~: 485) -FixedPointMathLibTest:testRawMulMod(uint256,uint256,uint256) (runs: 313, μ: 579, ~: 579) -FixedPointMathLibTest:testRawSDiv(int256,int256) (runs: 313, μ: 465, ~: 465) -FixedPointMathLibTest:testRawSMod(int256,int256) (runs: 313, μ: 466, ~: 466) -FixedPointMathLibTest:testRawSub(int256,int256) (runs: 313, μ: 441, ~: 441) -FixedPointMathLibTest:testRawSub(uint256,uint256) (runs: 313, μ: 440, ~: 440) +FixedPointMathLibTest:testRawAdd(int256,int256) (runs: 256, μ: 462, ~: 462) +FixedPointMathLibTest:testRawAdd(uint256,uint256) (runs: 256, μ: 463, ~: 463) +FixedPointMathLibTest:testRawAddMod(uint256,uint256,uint256) (runs: 256, μ: 512, ~: 512) +FixedPointMathLibTest:testRawDiv(uint256,uint256) (runs: 256, μ: 443, ~: 443) +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, μ: 465, ~: 465) +FixedPointMathLibTest:testRawSMod(int256,int256) (runs: 256, μ: 466, ~: 466) +FixedPointMathLibTest:testRawSub(int256,int256) (runs: 256, μ: 441, ~: 441) +FixedPointMathLibTest:testRawSub(uint256,uint256) (runs: 256, μ: 440, ~: 440) FixedPointMathLibTest:testSDivWad() (gas: 916) -FixedPointMathLibTest:testSDivWad(int256,int256) (runs: 313, μ: 6177, ~: 971) +FixedPointMathLibTest:testSDivWad(int256,int256) (runs: 256, μ: 6422, ~: 971) FixedPointMathLibTest:testSDivWadEdgeCases() (gas: 422) -FixedPointMathLibTest:testSDivWadOverflowReverts(int256,int256) (runs: 313, μ: 22669, ~: 26511) -FixedPointMathLibTest:testSDivWadZeroDenominatorReverts(int256) (runs: 313, μ: 3330, ~: 3330) +FixedPointMathLibTest:testSDivWadOverflowReverts(int256,int256) (runs: 256, μ: 22559, ~: 26511) +FixedPointMathLibTest:testSDivWadZeroDenominatorReverts(int256) (runs: 256, μ: 3330, ~: 3330) FixedPointMathLibTest:testSMulWad() (gas: 1032) -FixedPointMathLibTest:testSMulWad(int256,int256) (runs: 313, μ: 884, ~: 1047) +FixedPointMathLibTest:testSMulWad(int256,int256) (runs: 256, μ: 892, ~: 1047) FixedPointMathLibTest:testSMulWadEdgeCases() (gas: 1309) -FixedPointMathLibTest:testSMulWadOverflowRevertsOnCondition1(int256,int256) (runs: 313, μ: 19945, ~: 26556) -FixedPointMathLibTest:testSMulWadOverflowRevertsOnCondition2(int256) (runs: 313, μ: 19403, ~: 25957) -FixedPointMathLibTest:testSMulWadOverflowTrickDifferential(int256,int256) (runs: 313, μ: 621, ~: 632) +FixedPointMathLibTest:testSMulWadOverflowRevertsOnCondition1(int256,int256) (runs: 256, μ: 20274, ~: 26556) +FixedPointMathLibTest:testSMulWadOverflowRevertsOnCondition2(int256) (runs: 256, μ: 19259, ~: 25788) +FixedPointMathLibTest:testSMulWadOverflowTrickDifferential(int256,int256) (runs: 256, μ: 622, ~: 632) FixedPointMathLibTest:testSci() (gas: 1838614) -FixedPointMathLibTest:testSci(uint256) (runs: 313, μ: 33379, ~: 35821) -FixedPointMathLibTest:testSci2(uint256) (runs: 313, μ: 956, ~: 955) +FixedPointMathLibTest:testSci(uint256) (runs: 256, μ: 33395, ~: 36169) +FixedPointMathLibTest:testSci2(uint256) (runs: 256, μ: 957, ~: 955) FixedPointMathLibTest:testSqrt() (gas: 43798) -FixedPointMathLibTest:testSqrt(uint256) (runs: 313, μ: 1047, ~: 1054) -FixedPointMathLibTest:testSqrtBack(uint256) (runs: 313, μ: 9979, ~: 386) -FixedPointMathLibTest:testSqrtHashed(uint256) (runs: 313, μ: 54683, ~: 54659) +FixedPointMathLibTest:testSqrt(uint256) (runs: 256, μ: 1046, ~: 1054) +FixedPointMathLibTest:testSqrtBack(uint256) (runs: 256, μ: 10357, ~: 386) +FixedPointMathLibTest:testSqrtHashed(uint256) (runs: 256, μ: 54698, ~: 54872) FixedPointMathLibTest:testSqrtHashedSingle() (gas: 54587) FixedPointMathLibTest:testSqrtWad() (gas: 7937) -FixedPointMathLibTest:testSqrtWad(uint256) (runs: 313, μ: 1654, ~: 1580) -FixedPointMathLibTest:testSqrtWadConverged(uint256) (runs: 313, μ: 1962, ~: 1992) -FixedPointMathLibTest:testSqrtWadMonotonicallyIncreasing(uint256,uint256) (runs: 313, μ: 2239, ~: 1825) -FixedPointMathLibTest:testTernary(bool,uint256,uint256) (runs: 313, μ: 518, ~: 514) -FixedPointMathLibTest:testZeroFloorSub(uint256,uint256) (runs: 313, μ: 571, ~: 601) -FixedPointMathLibTest:testZeroFloorSubCasted(uint32,uint32,uint256) (runs: 313, μ: 880, ~: 846) +FixedPointMathLibTest:testSqrtWad(uint256) (runs: 256, μ: 1659, ~: 1580) +FixedPointMathLibTest:testSqrtWadConverged(uint256) (runs: 256, μ: 1962, ~: 1992) +FixedPointMathLibTest:testSqrtWadMonotonicallyIncreasing(uint256,uint256) (runs: 256, μ: 2192, ~: 1825) +FixedPointMathLibTest:testTernary(bool,uint256,uint256) (runs: 256, μ: 518, ~: 514) +FixedPointMathLibTest:testZeroFloorSub(uint256,uint256) (runs: 256, μ: 572, ~: 601) +FixedPointMathLibTest:testZeroFloorSubCasted(uint32,uint32,uint256) (runs: 256, μ: 881, ~: 846) FixedPointMathLibTest:test__codesize() (gas: 45155) GasBurnerLibTest:testBurn() (gas: 105035) -GasBurnerLibTest:testBurn(uint256) (runs: 313, μ: 43618, ~: 33838) +GasBurnerLibTest:testBurn(uint256) (runs: 256, μ: 43142, ~: 32706) GasBurnerLibTest:testBurnPure() (gas: 1700850) -GasBurnerLibTest:testBurnPure(uint256) (runs: 313, μ: 25015, ~: 24543) +GasBurnerLibTest:testBurnPure(uint256) (runs: 256, μ: 25005, ~: 24449) GasBurnerLibTest:testBurnPureTiming() (gas: 300223) GasBurnerLibTest:testBurnTiming() (gas: 293139) GasBurnerLibTest:testBurnView() (gas: 66700) -GasBurnerLibTest:testBurnView(uint256) (runs: 313, μ: 27171, ~: 26318) +GasBurnerLibTest:testBurnView(uint256) (runs: 256, μ: 27225, ~: 26318) GasBurnerLibTest:testBurnViewTiming() (gas: 294223) GasBurnerLibTest:test__codesize() (gas: 2389) InitializableTest:testDisableInitializers() (gas: 42010) InitializableTest:testInitializableConstructor() (gas: 691882) InitializableTest:testInitialize() (gas: 54688) -InitializableTest:testInitializeInititalizerTrick(bool,uint64,uint16) (runs: 313, μ: 790, ~: 791) -InitializableTest:testInitializeReinititalize(uint256) (runs: 313, μ: 95990, ~: 94564) -InitializableTest:testInitializeReinititalizerTrick(bool,uint64,uint64) (runs: 313, μ: 674, ~: 687) +InitializableTest:testInitializeInititalizerTrick(bool,uint64,uint16) (runs: 256, μ: 790, ~: 791) +InitializableTest:testInitializeReinititalize(uint256) (runs: 256, μ: 96174, ~: 94588) +InitializableTest:testInitializeReinititalizerTrick(bool,uint64,uint64) (runs: 256, μ: 675, ~: 687) InitializableTest:testOnlyInitializing() (gas: 10420) InitializableTest:test__codesize() (gas: 10480) -JSONParserLibTest:testDecodeEncodedStringDoesNotRevert(string) (runs: 313, μ: 57479, ~: 56403) +JSONParserLibTest:testDecodeEncodedStringDoesNotRevert(string) (runs: 256, μ: 57221, ~: 56403) JSONParserLibTest:testDecodeInvalidStringReverts() (gas: 172924) JSONParserLibTest:testDecodeString() (gas: 193269) JSONParserLibTest:testEmptyItem() (gas: 2913) @@ -589,9 +589,9 @@ JSONParserLibTest:testParseEmptyArrays() (gas: 499245) JSONParserLibTest:testParseEmptyObjects() (gas: 500206) JSONParserLibTest:testParseGas() (gas: 151909) JSONParserLibTest:testParseInt() (gas: 204229) -JSONParserLibTest:testParseInt(int256) (runs: 313, μ: 18765, ~: 17408) -JSONParserLibTest:testParseIntReverts(uint256) (runs: 313, μ: 55938, ~: 55929) -JSONParserLibTest:testParseIntTrick(uint256,bool) (runs: 313, μ: 528, ~: 532) +JSONParserLibTest:testParseInt(int256) (runs: 256, μ: 18767, ~: 17468) +JSONParserLibTest:testParseIntReverts(uint256) (runs: 256, μ: 55941, ~: 55929) +JSONParserLibTest:testParseIntTrick(uint256,bool) (runs: 256, μ: 528, ~: 532) JSONParserLibTest:testParseInvalidIntReverts() (gas: 210681) JSONParserLibTest:testParseInvalidNumberReverts() (gas: 4068682) JSONParserLibTest:testParseInvalidReverts() (gas: 8589165) @@ -607,156 +607,156 @@ JSONParserLibTest:testParseSimpleUintArray() (gas: 1175003) JSONParserLibTest:testParseSpecials() (gas: 260199) JSONParserLibTest:testParseString() (gas: 1237483) JSONParserLibTest:testParseUint() (gas: 95659) -JSONParserLibTest:testParseUint(uint256) (runs: 313, μ: 35395, ~: 31924) +JSONParserLibTest:testParseUint(uint256) (runs: 256, μ: 35463, ~: 31644) JSONParserLibTest:testParseUintFromHex() (gas: 1382724) -JSONParserLibTest:testParseValidObjectDoesNotRevert(string,string) (runs: 313, μ: 50090, ~: 48837) +JSONParserLibTest:testParseValidObjectDoesNotRevert(string,string) (runs: 256, μ: 50040, ~: 48781) JSONParserLibTest:test__codesize() (gas: 38087) LibBitTest:testAnd() (gas: 192789) -LibBitTest:testAnd(bool,bool) (runs: 313, μ: 632, ~: 634) -LibBitTest:testAutoClean(uint256,uint256) (runs: 313, μ: 468, ~: 468) -LibBitTest:testBoolToUint(bool) (runs: 313, μ: 485, ~: 485) +LibBitTest:testAnd(bool,bool) (runs: 256, μ: 632, ~: 634) +LibBitTest:testAutoClean(uint256,uint256) (runs: 256, μ: 468, ~: 468) +LibBitTest:testBoolToUint(bool) (runs: 256, μ: 485, ~: 485) LibBitTest:testCLZ() (gas: 297260) LibBitTest:testFFS() (gas: 152877) LibBitTest:testFLS() (gas: 245237) LibBitTest:testIsPo2() (gas: 57663) -LibBitTest:testIsPo2(uint256) (runs: 313, μ: 3524, ~: 2130) -LibBitTest:testIsPo2(uint8,uint8) (runs: 313, μ: 623, ~: 624) +LibBitTest:testIsPo2(uint256) (runs: 256, μ: 3562, ~: 1810) +LibBitTest:testIsPo2(uint8,uint8) (runs: 256, μ: 623, ~: 624) LibBitTest:testOr() (gas: 194336) -LibBitTest:testOr(bool,bool) (runs: 313, μ: 649, ~: 648) +LibBitTest:testOr(bool,bool) (runs: 256, μ: 649, ~: 648) LibBitTest:testPassInBool() (gas: 830) LibBitTest:testPopCount() (gas: 63738) -LibBitTest:testPopCount(uint256) (runs: 313, μ: 3666, ~: 2272) +LibBitTest:testPopCount(uint256) (runs: 256, μ: 3704, ~: 1952) LibBitTest:testReturnsBool() (gas: 779) LibBitTest:testReverseBits() (gas: 131521) -LibBitTest:testReverseBitsDifferential(uint256) (runs: 313, μ: 18724, ~: 18724) +LibBitTest:testReverseBitsDifferential(uint256) (runs: 256, μ: 18724, ~: 18724) LibBitTest:testReverseBytes() (gas: 12492) -LibBitTest:testReverseBytesDifferential(uint256) (runs: 313, μ: 2675, ~: 2675) +LibBitTest:testReverseBytesDifferential(uint256) (runs: 256, μ: 2675, ~: 2675) LibBitTest:test__codesize() (gas: 5842) LibBitmapTest:testBitmapClaimWithGetSet() (gas: 27156) LibBitmapTest:testBitmapClaimWithToggle() (gas: 17480) LibBitmapTest:testBitmapFindFirstUnset() (gas: 54669) -LibBitmapTest:testBitmapFindFirstUnset(uint256,uint256,bytes32) (runs: 313, μ: 140995, ~: 140199) +LibBitmapTest:testBitmapFindFirstUnset(uint256,uint256,bytes32) (runs: 256, μ: 140882, ~: 140160) LibBitmapTest:testBitmapFindLastSet() (gas: 1300541) -LibBitmapTest:testBitmapFindLastSet(uint256,bytes32) (runs: 313, μ: 75872, ~: 76214) +LibBitmapTest:testBitmapFindLastSet(uint256,bytes32) (runs: 256, μ: 75823, ~: 76235) LibBitmapTest:testBitmapFindLastSet2() (gas: 23882) LibBitmapTest:testBitmapGet() (gas: 2549) -LibBitmapTest:testBitmapGet(uint256) (runs: 313, μ: 2599, ~: 2599) +LibBitmapTest:testBitmapGet(uint256) (runs: 256, μ: 2599, ~: 2599) LibBitmapTest:testBitmapPopCount() (gas: 751877) -LibBitmapTest:testBitmapPopCount(uint256,uint256,uint256) (runs: 313, μ: 210215, ~: 173563) +LibBitmapTest:testBitmapPopCount(uint256,uint256,uint256) (runs: 256, μ: 208813, ~: 174238) LibBitmapTest:testBitmapPopCountAcrossMultipleBuckets() (gas: 73634) LibBitmapTest:testBitmapPopCountWithinSingleBucket() (gas: 34032) LibBitmapTest:testBitmapSet() (gas: 22771) -LibBitmapTest:testBitmapSet(uint256) (runs: 313, μ: 22843, ~: 22843) -LibBitmapTest:testBitmapSetAndGet(uint256) (runs: 313, μ: 22864, ~: 22864) +LibBitmapTest:testBitmapSet(uint256) (runs: 256, μ: 22843, ~: 22843) +LibBitmapTest:testBitmapSetAndGet(uint256) (runs: 256, μ: 22864, ~: 22864) LibBitmapTest:testBitmapSetBatch() (gas: 2918603) LibBitmapTest:testBitmapSetBatchAcrossMultipleBuckets() (gas: 438393) LibBitmapTest:testBitmapSetBatchWithinSingleBucket() (gas: 389011) LibBitmapTest:testBitmapSetTo() (gas: 14652) -LibBitmapTest:testBitmapSetTo(uint256,bool,uint256) (runs: 313, μ: 12910, ~: 3113) -LibBitmapTest:testBitmapSetTo(uint256,uint256) (runs: 313, μ: 46826, ~: 51384) +LibBitmapTest:testBitmapSetTo(uint256,bool,uint256) (runs: 256, μ: 12914, ~: 3113) +LibBitmapTest:testBitmapSetTo(uint256,uint256) (runs: 256, μ: 47066, ~: 51391) LibBitmapTest:testBitmapToggle() (gas: 31525) -LibBitmapTest:testBitmapToggle(uint256,bool) (runs: 313, μ: 19283, ~: 23572) +LibBitmapTest:testBitmapToggle(uint256,bool) (runs: 256, μ: 19314, ~: 23572) LibBitmapTest:testBitmapUnset() (gas: 22794) -LibBitmapTest:testBitmapUnset(uint256) (runs: 313, μ: 14511, ~: 14525) +LibBitmapTest:testBitmapUnset(uint256) (runs: 256, μ: 14511, ~: 14528) LibBitmapTest:testBitmapUnsetBatch() (gas: 2981123) LibBitmapTest:testBitmapUnsetBatchAcrossMultipleBuckets() (gas: 438470) LibBitmapTest:testBitmapUnsetBatchWithinSingleBucket() (gas: 445869) LibBitmapTest:test__codesize() (gas: 8720) LibCWIATest:testCloneDeteministicWithImmutableArgs() (gas: 191687) -LibCWIATest:testCloneDeteministicWithImmutableArgs(address,uint256,uint256[],bytes,uint64,uint8,uint256) (runs: 313, μ: 1093795, ~: 1042702) +LibCWIATest:testCloneDeteministicWithImmutableArgs(address,uint256,uint256[],bytes,uint64,uint8,uint256) (runs: 256, μ: 1107429, ~: 1060073) LibCWIATest:testCloneWithImmutableArgs() (gas: 120548) -LibCWIATest:testCloneWithImmutableArgs(uint256,address,uint256,uint256[],uint64,uint8) (runs: 313, μ: 996549, ~: 982338) +LibCWIATest:testCloneWithImmutableArgs(uint256,address,uint256,uint256[],uint64,uint8) (runs: 256, μ: 986273, ~: 971819) LibCWIATest:testCloneWithImmutableArgsRevertsIfDataTooBig() (gas: 97305787) LibCWIATest:test__codesize() (gas: 12272) LibCloneTest:testClone() (gas: 97436) -LibCloneTest:testClone(uint256) (runs: 313, μ: 97463, ~: 97463) +LibCloneTest:testClone(uint256) (runs: 256, μ: 97463, ~: 97463) LibCloneTest:testCloneDeterministic() (gas: 98317) -LibCloneTest:testCloneDeterministic(bytes32) (runs: 313, μ: 3817258, ~: 98594) +LibCloneTest:testCloneDeterministic(bytes32) (runs: 256, μ: 4268258, ~: 98594) LibCloneTest:testCloneDeterministicWithImmutableArgs() (gas: 125123) -LibCloneTest:testCloneDeterministicWithImmutableArgs(bytes32) (runs: 313, μ: 6375585, ~: 117807) +LibCloneTest:testCloneDeterministicWithImmutableArgs(bytes32) (runs: 256, μ: 6535830, ~: 117551) LibCloneTest:testCloneWithImmutableArgs() (gas: 125589) -LibCloneTest:testCloneWithImmutableArgs(uint256) (runs: 313, μ: 2636985, ~: 117209) +LibCloneTest:testCloneWithImmutableArgs(uint256) (runs: 256, μ: 2724710, ~: 116732) LibCloneTest:testCloneWithImmutableArgsSlicing() (gas: 57947) -LibCloneTest:testCreateDeterministicERC1967(bytes32) (runs: 313, μ: 177790, ~: 128025) -LibCloneTest:testCreateDeterministicERC1967BeaconProxy(bytes32) (runs: 313, μ: 372715, ~: 360493) -LibCloneTest:testCreateDeterministicERC1967I(bytes32) (runs: 313, μ: 178332, ~: 132431) -LibCloneTest:testCreateDeterministicERC1967WithImmutableArgs(bytes32) (runs: 313, μ: 378453, ~: 137487) +LibCloneTest:testCreateDeterministicERC1967(bytes32) (runs: 256, μ: 179048, ~: 128025) +LibCloneTest:testCreateDeterministicERC1967BeaconProxy(bytes32) (runs: 256, μ: 372958, ~: 360493) +LibCloneTest:testCreateDeterministicERC1967I(bytes32) (runs: 256, μ: 178774, ~: 132426) +LibCloneTest:testCreateDeterministicERC1967WithImmutableArgs(bytes32) (runs: 256, μ: 423337, ~: 137296) LibCloneTest:testDeployDeterministicERC1967() (gas: 133441) -LibCloneTest:testDeployDeterministicERC1967(bytes32) (runs: 313, μ: 3369003, ~: 133342) -LibCloneTest:testDeployDeterministicERC1967BeaconProxy(bytes32) (runs: 313, μ: 4613422, ~: 357493) +LibCloneTest:testDeployDeterministicERC1967(bytes32) (runs: 256, μ: 3309304, ~: 133344) +LibCloneTest:testDeployDeterministicERC1967BeaconProxy(bytes32) (runs: 256, μ: 4449645, ~: 357493) LibCloneTest:testDeployDeterministicERC1967I() (gas: 129465) -LibCloneTest:testDeployDeterministicERC1967I(bytes32) (runs: 313, μ: 2013103, ~: 129383) +LibCloneTest:testDeployDeterministicERC1967I(bytes32) (runs: 256, μ: 2412595, ~: 129383) LibCloneTest:testDeployDeterministicERC1967WithImmutableArgs() (gas: 166875) -LibCloneTest:testDeployDeterministicERC1967WithImmutableArgs(bytes32) (runs: 313, μ: 5222169, ~: 144508) +LibCloneTest:testDeployDeterministicERC1967WithImmutableArgs(bytes32) (runs: 256, μ: 5162324, ~: 145457) LibCloneTest:testDeployERC1967() (gas: 130814) -LibCloneTest:testDeployERC1967(bytes32) (runs: 313, μ: 236822, ~: 130906) -LibCloneTest:testDeployERC1967BeaconProxy(bytes32) (runs: 313, μ: 351441, ~: 294788) +LibCloneTest:testDeployERC1967(bytes32) (runs: 256, μ: 245817, ~: 130917) +LibCloneTest:testDeployERC1967BeaconProxy(bytes32) (runs: 256, μ: 345640, ~: 294788) LibCloneTest:testDeployERC1967BeaconProxyWithImmutableArgs() (gas: 293333) -LibCloneTest:testDeployERC1967BeaconProxyWithImmutableArgs(address,bytes32) (runs: 313, μ: 28645304, ~: 277068) +LibCloneTest:testDeployERC1967BeaconProxyWithImmutableArgs(address,bytes32) (runs: 256, μ: 28506681, ~: 277471) LibCloneTest:testDeployERC1967I() (gas: 128886) -LibCloneTest:testDeployERC1967I(bytes32) (runs: 313, μ: 129002, ~: 129002) +LibCloneTest:testDeployERC1967I(bytes32) (runs: 256, μ: 129002, ~: 129002) LibCloneTest:testDeployERC1967WithImmutableArgs() (gas: 141650) -LibCloneTest:testDeployERC1967WithImmutableArgs(bytes32) (runs: 313, μ: 6029468, ~: 142576) -LibCloneTest:testERC1967BeaconProxyGasBehavior(uint256,uint256) (runs: 313, μ: 372285, ~: 346599) -LibCloneTest:testERC1967ConstantBootstrap(address,bytes32) (runs: 313, μ: 195702, ~: 169477) -LibCloneTest:testInitCode(address) (runs: 313, μ: 236365, ~: 35307) +LibCloneTest:testDeployERC1967WithImmutableArgs(bytes32) (runs: 256, μ: 5710799, ~: 142319) +LibCloneTest:testERC1967BeaconProxyGasBehavior(uint256,uint256) (runs: 256, μ: 376167, ~: 347220) +LibCloneTest:testERC1967ConstantBootstrap(address,bytes32) (runs: 256, μ: 199467, ~: 169474) +LibCloneTest:testInitCode(address) (runs: 256, μ: 217404, ~: 35288) LibCloneTest:testInitialDeposit() (gas: 585537) -LibCloneTest:testSlicingRevertsOnZeroCodeAddress(address) (runs: 313, μ: 105492, ~: 30422) -LibCloneTest:testStartsWith(uint256) (runs: 313, μ: 29398, ~: 29468) +LibCloneTest:testSlicingRevertsOnZeroCodeAddress(address) (runs: 256, μ: 91886, ~: 30411) +LibCloneTest:testStartsWith(uint256) (runs: 256, μ: 29404, ~: 29468) LibCloneTest:test__codesize() (gas: 31023) -LibERC6551Test:testComputeAccountAddress(address,bytes32,uint256,address,uint256) (runs: 313, μ: 296063, ~: 28642) -LibERC6551Test:testContext(address,bytes32,uint256,address,uint256) (runs: 313, μ: 101744, ~: 101643) -LibERC6551Test:testInitCodeHash(address,bytes32,uint256,address,uint256) (runs: 313, μ: 237298, ~: 23818) -LibERC6551Test:testIsERC6551Account(address,bytes32,uint256,address,uint256) (runs: 313, μ: 111163, ~: 111183) +LibERC6551Test:testComputeAccountAddress(address,bytes32,uint256,address,uint256) (runs: 256, μ: 291234, ~: 28642) +LibERC6551Test:testContext(address,bytes32,uint256,address,uint256) (runs: 256, μ: 101743, ~: 101643) +LibERC6551Test:testInitCodeHash(address,bytes32,uint256,address,uint256) (runs: 256, μ: 199627, ~: 23818) +LibERC6551Test:testIsERC6551Account(address,bytes32,uint256,address,uint256) (runs: 256, μ: 111163, ~: 111183) LibERC6551Test:test__codesize() (gas: 6081) -LibMapTest:testFoundStatementDifferential(uint256,uint256,uint256) (runs: 313, μ: 499, ~: 499) +LibMapTest:testFoundStatementDifferential(uint256,uint256,uint256) (runs: 256, μ: 499, ~: 499) LibMapTest:testGeneralMapFunctionsGas() (gas: 3304775) -LibMapTest:testGeneralMapFunctionsWithSmallBitWidths(uint256) (runs: 313, μ: 84865, ~: 85699) +LibMapTest:testGeneralMapFunctionsWithSmallBitWidths(uint256) (runs: 256, μ: 84351, ~: 85701) LibMapTest:testGeneralMapFunctionsWithZeroBitWidth() (gas: 12260) -LibMapTest:testGeneralMapSearchSorted(uint256) (runs: 313, μ: 208802, ~: 152475) +LibMapTest:testGeneralMapSearchSorted(uint256) (runs: 256, μ: 208964, ~: 152132) LibMapTest:testMapGetFromBigArray() (gas: 3330) LibMapTest:testMapGetUint8() (gas: 3313) LibMapTest:testMapSetUint8() (gas: 23276) LibMapTest:testMapSetUint8FromBigArray() (gas: 23263) -LibMapTest:testUint128MapSearchSorted(uint256) (runs: 313, μ: 195899, ~: 130770) +LibMapTest:testUint128MapSearchSorted(uint256) (runs: 256, μ: 190324, ~: 131522) LibMapTest:testUint128MapSetAndGet() (gas: 1607264) -LibMapTest:testUint128MapSetAndGet(uint256) (runs: 313, μ: 180188, ~: 171044) -LibMapTest:testUint128MapSetAndGet2(uint256) (runs: 313, μ: 68975, ~: 69476) -LibMapTest:testUint16MapSearchSorted(uint256) (runs: 313, μ: 96227, ~: 86351) +LibMapTest:testUint128MapSetAndGet(uint256) (runs: 256, μ: 180543, ~: 171280) +LibMapTest:testUint128MapSetAndGet2(uint256) (runs: 256, μ: 69113, ~: 69481) +LibMapTest:testUint16MapSearchSorted(uint256) (runs: 256, μ: 97167, ~: 86486) LibMapTest:testUint16MapSetAndGet() (gas: 958101) -LibMapTest:testUint16MapSetAndGet(uint256) (runs: 313, μ: 81509, ~: 81715) -LibMapTest:testUint16MapSetAndGet2(uint256) (runs: 313, μ: 68484, ~: 69242) -LibMapTest:testUint32MapSearchSorted(uint256) (runs: 313, μ: 106827, ~: 87350) +LibMapTest:testUint16MapSetAndGet(uint256) (runs: 256, μ: 81492, ~: 81717) +LibMapTest:testUint16MapSetAndGet2(uint256) (runs: 256, μ: 68462, ~: 69243) +LibMapTest:testUint32MapSearchSorted(uint256) (runs: 256, μ: 106382, ~: 86976) LibMapTest:testUint32MapSetAndGet() (gas: 1067796) -LibMapTest:testUint32MapSetAndGet(uint256) (runs: 313, μ: 114314, ~: 124787) -LibMapTest:testUint32MapSetAndGet2(uint256) (runs: 313, μ: 68692, ~: 69197) -LibMapTest:testUint32Maps(uint256) (runs: 313, μ: 68468, ~: 72251) -LibMapTest:testUint40MapSearchSorted(uint256) (runs: 313, μ: 125320, ~: 108133) +LibMapTest:testUint32MapSetAndGet(uint256) (runs: 256, μ: 114300, ~: 124693) +LibMapTest:testUint32MapSetAndGet2(uint256) (runs: 256, μ: 68564, ~: 69197) +LibMapTest:testUint32Maps(uint256) (runs: 256, μ: 68797, ~: 72253) +LibMapTest:testUint40MapSearchSorted(uint256) (runs: 256, μ: 123266, ~: 108340) LibMapTest:testUint40MapSetAndGet() (gas: 1127509) -LibMapTest:testUint40MapSetAndGet(uint256) (runs: 313, μ: 136797, ~: 146776) -LibMapTest:testUint40MapSetAndGet2(uint256) (runs: 313, μ: 68526, ~: 69272) -LibMapTest:testUint64MapSearchSorted(uint256) (runs: 313, μ: 134243, ~: 108780) +LibMapTest:testUint40MapSetAndGet(uint256) (runs: 256, μ: 136959, ~: 146770) +LibMapTest:testUint40MapSetAndGet2(uint256) (runs: 256, μ: 68419, ~: 69272) +LibMapTest:testUint64MapSearchSorted(uint256) (runs: 256, μ: 131401, ~: 108492) LibMapTest:testUint64MapSetAndGet() (gas: 1220444) -LibMapTest:testUint64MapSetAndGet(uint256) (runs: 313, μ: 149206, ~: 147394) -LibMapTest:testUint64MapSetAndGet2(uint256) (runs: 313, μ: 68386, ~: 69261) -LibMapTest:testUint8MapSearchSorted(uint256) (runs: 313, μ: 99635, ~: 86243) +LibMapTest:testUint64MapSetAndGet(uint256) (runs: 256, μ: 148586, ~: 147374) +LibMapTest:testUint64MapSetAndGet2(uint256) (runs: 256, μ: 68487, ~: 69408) +LibMapTest:testUint8MapSearchSorted(uint256) (runs: 256, μ: 98678, ~: 86167) LibMapTest:testUint8MapSetAndGet() (gas: 884299) -LibMapTest:testUint8MapSetAndGet(uint256) (runs: 313, μ: 59499, ~: 59566) -LibMapTest:testUint8MapSetAndGet2(uint256) (runs: 313, μ: 68230, ~: 69180) +LibMapTest:testUint8MapSetAndGet(uint256) (runs: 256, μ: 59489, ~: 59566) +LibMapTest:testUint8MapSetAndGet2(uint256) (runs: 256, μ: 68316, ~: 69180) LibMapTest:test__codesize() (gas: 12065) LibPRNGTest:testExponentialWad() (gas: 4394348) LibPRNGTest:testLCGGas() (gas: 20803) LibPRNGTest:testLazyShufflerGet() (gas: 298845) -LibPRNGTest:testLazyShufflerGetOutOfBoundsReverts(uint256,uint256) (runs: 313, μ: 26625, ~: 26667) +LibPRNGTest:testLazyShufflerGetOutOfBoundsReverts(uint256,uint256) (runs: 256, μ: 26616, ~: 26667) LibPRNGTest:testLazyShufflerNoStorageCollisions() (gas: 266054) -LibPRNGTest:testLazyShufflerProducesShuffledRange(uint256) (runs: 313, μ: 177823, ~: 91137) +LibPRNGTest:testLazyShufflerProducesShuffledRange(uint256) (runs: 256, μ: 178370, ~: 91178) LibPRNGTest:testLazyShufflerProducesShuffledRange2() (gas: 9059432) -LibPRNGTest:testLazyShufflerProducesShuffledRangeWithGrow(uint256,uint256) (runs: 313, μ: 188354, ~: 176287) +LibPRNGTest:testLazyShufflerProducesShuffledRangeWithGrow(uint256,uint256) (runs: 256, μ: 190063, ~: 177374) LibPRNGTest:testLazyShufflerRestart() (gas: 276254) LibPRNGTest:testLazyShufflerRevertsOnDoubleInit() (gas: 26824) -LibPRNGTest:testLazyShufflerRevertsOnFinshedNext(uint256) (runs: 313, μ: 64873, ~: 74386) -LibPRNGTest:testLazyShufflerRevertsOnGrowWithInvalidLength(uint256,uint256) (runs: 313, μ: 24689, ~: 24708) -LibPRNGTest:testLazyShufflerRevertsOnInitWithInvalidLength(uint256) (runs: 313, μ: 22907, ~: 23673) +LibPRNGTest:testLazyShufflerRevertsOnFinshedNext(uint256) (runs: 256, μ: 65460, ~: 74386) +LibPRNGTest:testLazyShufflerRevertsOnGrowWithInvalidLength(uint256,uint256) (runs: 256, μ: 24684, ~: 24600) +LibPRNGTest:testLazyShufflerRevertsOnInitWithInvalidLength(uint256) (runs: 256, μ: 23054, ~: 23497) LibPRNGTest:testLazyShufflerRevertsOnZeroLengthNext() (gas: 27623) LibPRNGTest:testPRNGGas() (gas: 25667) LibPRNGTest:testPRNGNext() (gas: 16162) @@ -770,260 +770,260 @@ LibPRNGTest:testPRNGShuffleGas() (gas: 1610927) LibPRNGTest:testPRNGUniform() (gas: 559430) LibPRNGTest:testStandardNormalWad() (gas: 4425913) LibPRNGTest:test__codesize() (gas: 14376) -LibRLPTest:testComputeAddressDifferential(address,uint256) (runs: 313, μ: 4267, ~: 4099) +LibRLPTest:testComputeAddressDifferential(address,uint256) (runs: 256, μ: 4225, ~: 4015) LibRLPTest:testComputeAddressForLargeNonces() (gas: 1760) LibRLPTest:testComputeAddressForSmallNonces() (gas: 1007) LibRLPTest:testComputeAddressOriginalForLargeNonces() (gas: 3766) LibRLPTest:testComputeAddressOriginalForSmallNonces() (gas: 2185) -LibRLPTest:testRLPEncodeAddressDifferential(address) (runs: 313, μ: 242386, ~: 26102) -LibRLPTest:testRLPEncodeAddressViaList(address,address) (runs: 313, μ: 164758, ~: 27693) -LibRLPTest:testRLPEncodeBool(bool) (runs: 313, μ: 27562, ~: 27700) +LibRLPTest:testRLPEncodeAddressDifferential(address) (runs: 256, μ: 224835, ~: 26102) +LibRLPTest:testRLPEncodeAddressViaList(address,address) (runs: 256, μ: 150955, ~: 27703) +LibRLPTest:testRLPEncodeBool(bool) (runs: 256, μ: 27566, ~: 27700) LibRLPTest:testRLPEncodeBytes() (gas: 382181) LibRLPTest:testRLPEncodeBytes2() (gas: 156293) -LibRLPTest:testRLPEncodeBytesDifferential(bytes32) (runs: 313, μ: 284928, ~: 29108) +LibRLPTest:testRLPEncodeBytesDifferential(bytes32) (runs: 256, μ: 274139, ~: 29085) LibRLPTest:testRLPEncodeList() (gas: 723349) LibRLPTest:testRLPEncodeList2() (gas: 798535) -LibRLPTest:testRLPEncodeListDifferential(bytes,uint256) (runs: 313, μ: 392896, ~: 39250) +LibRLPTest:testRLPEncodeListDifferential(bytes,uint256) (runs: 256, μ: 392419, ~: 641754) LibRLPTest:testRLPEncodeUint() (gas: 1179038) -LibRLPTest:testRLPEncodeUint(uint256) (runs: 313, μ: 90102, ~: 24886) -LibRLPTest:testRLPEncodeUintDifferential(uint256) (runs: 313, μ: 222789, ~: 27075) -LibRLPTest:testRLPMemory(bytes32) (runs: 313, μ: 324780, ~: 33628) +LibRLPTest:testRLPEncodeUint(uint256) (runs: 256, μ: 81824, ~: 24873) +LibRLPTest:testRLPEncodeUintDifferential(uint256) (runs: 256, μ: 233091, ~: 27105) +LibRLPTest:testRLPMemory(bytes32) (runs: 256, μ: 345795, ~: 33550) LibRLPTest:testRLPPUint256() (gas: 364901) -LibRLPTest:testSmallLog256Equivalence(uint256) (runs: 313, μ: 23675, ~: 23700) +LibRLPTest:testSmallLog256Equivalence(uint256) (runs: 256, μ: 23668, ~: 23698) LibRLPTest:test__codesize() (gas: 15464) -LibSortTest:testCopy(uint256) (runs: 313, μ: 55679, ~: 25743) -LibSortTest:testInsertionSortAddressesDifferential(uint256) (runs: 313, μ: 45174, ~: 24945) +LibSortTest:testCopy(uint256) (runs: 256, μ: 59942, ~: 25737) +LibSortTest:testInsertionSortAddressesDifferential(uint256) (runs: 256, μ: 32114, ~: 24856) LibSortTest:testInsertionSortInts() (gas: 80727) LibSortTest:testInsertionSortPsuedorandom() (gas: 63725) -LibSortTest:testInsertionSortPsuedorandom(uint256) (runs: 313, μ: 62415, ~: 62470) -LibSortTest:testIsSortedAddressesDifferential(uint256) (runs: 313, μ: 37707, ~: 28911) -LibSortTest:testIsSortedAndUniquifiedAddressesDifferential(uint256) (runs: 313, μ: 36253, ~: 28910) -LibSortTest:testIsSortedAndUniquifiedDifferential(uint256) (runs: 313, μ: 32594, ~: 28403) -LibSortTest:testIsSortedAndUniquifiedIntsDifferential(uint256) (runs: 313, μ: 41989, ~: 29923) -LibSortTest:testIsSortedDifferential(uint256) (runs: 313, μ: 43240, ~: 28422) -LibSortTest:testIsSortedIntsDifferential(uint256) (runs: 313, μ: 47846, ~: 29823) +LibSortTest:testInsertionSortPsuedorandom(uint256) (runs: 256, μ: 62423, ~: 62430) +LibSortTest:testIsSortedAddressesDifferential(uint256) (runs: 256, μ: 38441, ~: 28881) +LibSortTest:testIsSortedAndUniquifiedAddressesDifferential(uint256) (runs: 256, μ: 36210, ~: 28948) +LibSortTest:testIsSortedAndUniquifiedDifferential(uint256) (runs: 256, μ: 31415, ~: 28442) +LibSortTest:testIsSortedAndUniquifiedIntsDifferential(uint256) (runs: 256, μ: 42629, ~: 29923) +LibSortTest:testIsSortedDifferential(uint256) (runs: 256, μ: 43737, ~: 28411) +LibSortTest:testIsSortedIntsDifferential(uint256) (runs: 256, μ: 47646, ~: 30015) LibSortTest:testReverse() (gas: 117297) LibSortTest:testSearchSorted() (gas: 118972) LibSortTest:testSearchSortedAddresses() (gas: 251950) LibSortTest:testSearchSortedBasicCases() (gas: 2244) -LibSortTest:testSearchSortedDifferential(uint256) (runs: 313, μ: 45138, ~: 30877) +LibSortTest:testSearchSortedDifferential(uint256) (runs: 256, μ: 45515, ~: 30188) LibSortTest:testSearchSortedEdgeCases() (gas: 1617) -LibSortTest:testSearchSortedElementInArray(uint256) (runs: 313, μ: 55698, ~: 31438) +LibSortTest:testSearchSortedElementInArray(uint256) (runs: 256, μ: 58676, ~: 31716) LibSortTest:testSearchSortedElementNotInArray() (gas: 6135) -LibSortTest:testSearchSortedElementNotInArray(uint256) (runs: 313, μ: 47874, ~: 33846) +LibSortTest:testSearchSortedElementNotInArray(uint256) (runs: 256, μ: 48559, ~: 33320) LibSortTest:testSearchSortedInts() (gas: 120794) -LibSortTest:testSearchSortedInts(int256[],int256) (runs: 313, μ: 12164, ~: 11736) +LibSortTest:testSearchSortedInts(int256[],int256) (runs: 256, μ: 12038, ~: 11669) LibSortTest:testSearchSortedWithEmptyArray() (gas: 709) -LibSortTest:testSort(uint256) (runs: 313, μ: 38719, ~: 28289) -LibSortTest:testSortAddressesDifferential(uint256) (runs: 313, μ: 65340, ~: 29001) +LibSortTest:testSort(uint256) (runs: 256, μ: 39518, ~: 28173) +LibSortTest:testSortAddressesDifferential(uint256) (runs: 256, μ: 60978, ~: 28994) LibSortTest:testSortAddressesPsuedorandom() (gas: 148711) -LibSortTest:testSortAddressesPsuedorandom(uint256) (runs: 313, μ: 148859, ~: 148806) +LibSortTest:testSortAddressesPsuedorandom(uint256) (runs: 256, μ: 148810, ~: 148688) LibSortTest:testSortAddressesPsuedorandomBrutalizeUpperBits() (gas: 200629) LibSortTest:testSortAddressesReversed() (gas: 45400) LibSortTest:testSortAddressesSorted() (gas: 42376) LibSortTest:testSortBasicCase() (gas: 1210) -LibSortTest:testSortChecksumed(uint256) (runs: 313, μ: 47385, ~: 31447) -LibSortTest:testSortDifferential(uint256) (runs: 313, μ: 60662, ~: 28312) +LibSortTest:testSortChecksumed(uint256) (runs: 256, μ: 46675, ~: 31630) +LibSortTest:testSortDifferential(uint256) (runs: 256, μ: 61419, ~: 28589) LibSortTest:testSortInts() (gas: 895631) LibSortTest:testSortMostlySame() (gas: 67374) LibSortTest:testSortOriginalMostlySame() (gas: 207985) LibSortTest:testSortOriginalPsuedorandom() (gas: 283954) -LibSortTest:testSortOriginalPsuedorandom(uint256) (runs: 313, μ: 287974, ~: 287540) +LibSortTest:testSortOriginalPsuedorandom(uint256) (runs: 256, μ: 287899, ~: 287589) LibSortTest:testSortOriginalReversed() (gas: 156282) LibSortTest:testSortOriginalSorted() (gas: 142263) LibSortTest:testSortPsuedorandom() (gas: 141932) -LibSortTest:testSortPsuedorandom(uint256) (runs: 313, μ: 142175, ~: 142159) +LibSortTest:testSortPsuedorandom(uint256) (runs: 256, μ: 142154, ~: 142128) LibSortTest:testSortPsuedorandomNonuniform() (gas: 147496) -LibSortTest:testSortPsuedorandomNonuniform(uint256) (runs: 313, μ: 147834, ~: 147663) +LibSortTest:testSortPsuedorandomNonuniform(uint256) (runs: 256, μ: 147795, ~: 147654) LibSortTest:testSortReversed() (gas: 38827) LibSortTest:testSortSorted() (gas: 35785) LibSortTest:testSortTestOverhead() (gas: 103630) LibSortTest:testSortedDifferenceDifferential() (gas: 183604) -LibSortTest:testSortedDifferenceDifferential(uint256) (runs: 313, μ: 35287, ~: 35167) -LibSortTest:testSortedDifferenceDifferentialInt(uint256) (runs: 313, μ: 37004, ~: 35905) -LibSortTest:testSortedDifferenceUnionIntersection(uint256) (runs: 313, μ: 57977, ~: 52866) +LibSortTest:testSortedDifferenceDifferential(uint256) (runs: 256, μ: 34907, ~: 34822) +LibSortTest:testSortedDifferenceDifferentialInt(uint256) (runs: 256, μ: 36839, ~: 35548) +LibSortTest:testSortedDifferenceUnionIntersection(uint256) (runs: 256, μ: 58734, ~: 52924) LibSortTest:testSortedIntersectionDifferential() (gas: 209797) -LibSortTest:testSortedIntersectionDifferential(uint256) (runs: 313, μ: 32956, ~: 32405) -LibSortTest:testSortedIntersectionDifferentialInt(uint256) (runs: 313, μ: 35084, ~: 34884) +LibSortTest:testSortedIntersectionDifferential(uint256) (runs: 256, μ: 32862, ~: 32327) +LibSortTest:testSortedIntersectionDifferentialInt(uint256) (runs: 256, μ: 34896, ~: 34542) LibSortTest:testSortedUnionDifferential() (gas: 217387) -LibSortTest:testSortedUnionDifferential(uint256) (runs: 313, μ: 35787, ~: 35197) -LibSortTest:testSortedUnionDifferentialInt(uint256) (runs: 313, μ: 38576, ~: 38015) -LibSortTest:testTwoComplementConversionSort(int256,int256) (runs: 313, μ: 515, ~: 514) +LibSortTest:testSortedUnionDifferential(uint256) (runs: 256, μ: 35731, ~: 35106) +LibSortTest:testSortedUnionDifferentialInt(uint256) (runs: 256, μ: 38349, ~: 37809) +LibSortTest:testTwoComplementConversionSort(int256,int256) (runs: 256, μ: 515, ~: 514) LibSortTest:testUniquifySorted() (gas: 1710) -LibSortTest:testUniquifySorted(uint256) (runs: 313, μ: 48521, ~: 27693) +LibSortTest:testUniquifySorted(uint256) (runs: 256, μ: 44352, ~: 27502) LibSortTest:testUniquifySortedAddress() (gas: 4039) -LibSortTest:testUniquifySortedAddress(uint256) (runs: 313, μ: 48282, ~: 29199) -LibSortTest:testUniquifySortedDifferential(uint256) (runs: 313, μ: 43826, ~: 31828) +LibSortTest:testUniquifySortedAddress(uint256) (runs: 256, μ: 48822, ~: 29074) +LibSortTest:testUniquifySortedDifferential(uint256) (runs: 256, μ: 43277, ~: 32173) LibSortTest:testUniquifySortedWithEmptyArray() (gas: 506) LibSortTest:test__codesize() (gas: 21619) -LibStringTest:testAddressToHexStringZeroRightPadded(address) (runs: 313, μ: 3414, ~: 3414) +LibStringTest:testAddressToHexStringZeroRightPadded(address) (runs: 256, μ: 3414, ~: 3414) LibStringTest:testBytesToHexString() (gas: 4801) -LibStringTest:testBytesToHexString(bytes) (runs: 313, μ: 722214, ~: 622261) +LibStringTest:testBytesToHexString(bytes) (runs: 256, μ: 735859, ~: 622210) LibStringTest:testBytesToHexStringNoPrefix() (gas: 4489) -LibStringTest:testBytesToHexStringNoPrefix(bytes) (runs: 313, μ: 773948, ~: 621959) +LibStringTest:testBytesToHexStringNoPrefix(bytes) (runs: 256, μ: 783424, ~: 621893) LibStringTest:testContains() (gas: 43988) LibStringTest:testFromAddressToHexString() (gas: 3137) LibStringTest:testFromAddressToHexStringChecksummed() (gas: 35217) -LibStringTest:testFromAddressToHexStringChecksummedDifferential(uint256) (runs: 313, μ: 767562, ~: 610945) +LibStringTest:testFromAddressToHexStringChecksummedDifferential(uint256) (runs: 256, μ: 749584, ~: 610947) LibStringTest:testFromAddressToHexStringWithLeadingZeros() (gas: 3113) -LibStringTest:testHexStringNoPrefixVariants(uint256,uint256) (runs: 313, μ: 765634, ~: 620482) +LibStringTest:testHexStringNoPrefixVariants(uint256,uint256) (runs: 256, μ: 778179, ~: 620471) LibStringTest:testNormalizeSmallString() (gas: 1387) -LibStringTest:testNormalizeSmallString(bytes32) (runs: 313, μ: 3017, ~: 4213) +LibStringTest:testNormalizeSmallString(bytes32) (runs: 256, μ: 2931, ~: 3955) LibStringTest:testStringConcat() (gas: 4003) -LibStringTest:testStringConcat(string,string) (runs: 313, μ: 663565, ~: 602421) +LibStringTest:testStringConcat(string,string) (runs: 256, μ: 651764, ~: 602421) LibStringTest:testStringConcatOriginal() (gas: 4654) LibStringTest:testStringDirectReturn() (gas: 6741) -LibStringTest:testStringDirectReturn(string) (runs: 313, μ: 3001, ~: 2916) +LibStringTest:testStringDirectReturn(string) (runs: 256, μ: 3003, ~: 2916) LibStringTest:testStringEndsWith() (gas: 2829) -LibStringTest:testStringEndsWith(uint256) (runs: 313, μ: 761326, ~: 635165) -LibStringTest:testStringEq(string,string) (runs: 313, μ: 1566, ~: 1567) +LibStringTest:testStringEndsWith(uint256) (runs: 256, μ: 760504, ~: 634920) +LibStringTest:testStringEq(string,string) (runs: 256, μ: 1566, ~: 1567) LibStringTest:testStringEqs() (gas: 2013) LibStringTest:testStringEscapeHTML() (gas: 8427) -LibStringTest:testStringEscapeHTML(uint256) (runs: 313, μ: 767775, ~: 639759) +LibStringTest:testStringEscapeHTML(uint256) (runs: 256, μ: 759315, ~: 639759) LibStringTest:testStringEscapeJSON() (gas: 39797) LibStringTest:testStringEscapeJSONHexEncode() (gas: 725650) LibStringTest:testStringIndexOf() (gas: 17375) -LibStringTest:testStringIndexOf(uint256) (runs: 313, μ: 788899, ~: 642510) +LibStringTest:testStringIndexOf(uint256) (runs: 256, μ: 790764, ~: 642436) LibStringTest:testStringIndicesOf() (gas: 11700) -LibStringTest:testStringIndicesOf(uint256) (runs: 313, μ: 841757, ~: 647235) +LibStringTest:testStringIndicesOf(uint256) (runs: 256, μ: 818814, ~: 647156) LibStringTest:testStringIs7BitASCII() (gas: 205346) -LibStringTest:testStringIs7BitASCIIDifferential(bytes) (runs: 313, μ: 744348, ~: 602139) +LibStringTest:testStringIs7BitASCIIDifferential(bytes) (runs: 256, μ: 717121, ~: 602180) LibStringTest:testStringIs7BitASCIIWithAllowedLookup() (gas: 4939) -LibStringTest:testStringIs7BitASCIIWithAllowedLookupDifferential(bytes,uint128) (runs: 313, μ: 677840, ~: 601900) +LibStringTest:testStringIs7BitASCIIWithAllowedLookupDifferential(bytes,uint128) (runs: 256, μ: 673556, ~: 601900) LibStringTest:testStringLastIndexOf() (gas: 24042) -LibStringTest:testStringLastIndexOf(uint256) (runs: 313, μ: 760995, ~: 644289) +LibStringTest:testStringLastIndexOf(uint256) (runs: 256, μ: 768427, ~: 643528) LibStringTest:testStringLowerDifferential() (gas: 3405674) -LibStringTest:testStringLowerDifferential(string) (runs: 313, μ: 8313, ~: 7991) +LibStringTest:testStringLowerDifferential(string) (runs: 256, μ: 8289, ~: 7991) LibStringTest:testStringLowerOriginal() (gas: 1219) LibStringTest:testStringPackAndUnpackOne() (gas: 753921) -LibStringTest:testStringPackAndUnpackOne(string) (runs: 313, μ: 717322, ~: 601187) -LibStringTest:testStringPackAndUnpackOneDifferential(string) (runs: 313, μ: 748099, ~: 601003) +LibStringTest:testStringPackAndUnpackOne(string) (runs: 256, μ: 699743, ~: 601192) +LibStringTest:testStringPackAndUnpackOneDifferential(string) (runs: 256, μ: 744270, ~: 601003) LibStringTest:testStringPackAndUnpackTwo() (gas: 913201) -LibStringTest:testStringPackAndUnpackTwo(string,string) (runs: 313, μ: 706115, ~: 602502) -LibStringTest:testStringPackAndUnpackTwoDifferential(string,string) (runs: 313, μ: 666412, ~: 601999) +LibStringTest:testStringPackAndUnpackTwo(string,string) (runs: 256, μ: 689692, ~: 602502) +LibStringTest:testStringPackAndUnpackTwoDifferential(string,string) (runs: 256, μ: 654655, ~: 601999) LibStringTest:testStringRepeat() (gas: 4986) -LibStringTest:testStringRepeat(string,uint256) (runs: 313, μ: 752223, ~: 604526) +LibStringTest:testStringRepeat(string,uint256) (runs: 256, μ: 742326, ~: 604642) LibStringTest:testStringRepeatOriginal() (gas: 9620) -LibStringTest:testStringReplace(uint256) (runs: 313, μ: 701343, ~: 648356) +LibStringTest:testStringReplace(uint256) (runs: 256, μ: 711315, ~: 647085) LibStringTest:testStringReplaceLong() (gas: 8573) LibStringTest:testStringReplaceMedium() (gas: 7581) LibStringTest:testStringReplaceShort() (gas: 12329) LibStringTest:testStringRuneCount() (gas: 3035897) -LibStringTest:testStringRuneCountDifferential(string) (runs: 313, μ: 6134, ~: 5889) +LibStringTest:testStringRuneCountDifferential(string) (runs: 256, μ: 6101, ~: 5878) LibStringTest:testStringSlice() (gas: 9257) -LibStringTest:testStringSlice(bytes,uint256,uint256) (runs: 313, μ: 776732, ~: 626062) -LibStringTest:testStringSlice(uint256) (runs: 313, μ: 801611, ~: 640997) +LibStringTest:testStringSlice(bytes,uint256,uint256) (runs: 256, μ: 769921, ~: 626165) +LibStringTest:testStringSlice(uint256) (runs: 256, μ: 825072, ~: 640895) LibStringTest:testStringSplit() (gas: 20309) -LibStringTest:testStringSplit(uint256) (runs: 313, μ: 740672, ~: 645982) +LibStringTest:testStringSplit(uint256) (runs: 256, μ: 737826, ~: 646029) LibStringTest:testStringStartsWith() (gas: 2544) -LibStringTest:testStringStartsWith(uint256) (runs: 313, μ: 733406, ~: 634256) +LibStringTest:testStringStartsWith(uint256) (runs: 256, μ: 749597, ~: 634377) LibStringTest:testStringUpperDifferential() (gas: 3084191) -LibStringTest:testStringUpperDifferential(string) (runs: 313, μ: 8312, ~: 7990) +LibStringTest:testStringUpperDifferential(string) (runs: 256, μ: 8288, ~: 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: 313, μ: 8300, ~: 6478) +LibStringTest:testToHexStringFixedLengthZeroRightPadded(uint256,uint256) (runs: 256, μ: 8363, ~: 6063) LibStringTest:testToHexStringPositiveNumber() (gas: 865) LibStringTest:testToHexStringUint256Max() (gas: 3398) LibStringTest:testToHexStringZero() (gas: 805) -LibStringTest:testToHexStringZeroRightPadded(uint256) (runs: 313, μ: 1931, ~: 1548) +LibStringTest:testToHexStringZeroRightPadded(uint256) (runs: 256, μ: 1940, ~: 1465) LibStringTest:testToMinimalHexStringNoPrefixPositiveNumber() (gas: 3426) LibStringTest:testToMinimalHexStringNoPrefixUint256Max() (gas: 3424) LibStringTest:testToMinimalHexStringNoPrefixZero() (gas: 831) -LibStringTest:testToMinimalHexStringNoPrefixZeroRightPadded(uint256) (runs: 313, μ: 1952, ~: 1570) +LibStringTest:testToMinimalHexStringNoPrefixZeroRightPadded(uint256) (runs: 256, μ: 1960, ~: 1487) LibStringTest:testToMinimalHexStringPositiveNumber() (gas: 3556) LibStringTest:testToMinimalHexStringUint256Max() (gas: 3470) LibStringTest:testToMinimalHexStringZero() (gas: 829) -LibStringTest:testToMinimalHexStringZeroRightPadded(uint256) (runs: 313, μ: 1979, ~: 1595) +LibStringTest:testToMinimalHexStringZeroRightPadded(uint256) (runs: 256, μ: 1987, ~: 1512) LibStringTest:testToSmallString() (gas: 4448) LibStringTest:testToStringPositiveNumber() (gas: 910) LibStringTest:testToStringPositiveNumberBrutalized() (gas: 3013089) -LibStringTest:testToStringSignedDifferential(int256) (runs: 313, μ: 703895, ~: 604215) +LibStringTest:testToStringSignedDifferential(int256) (runs: 256, μ: 707151, ~: 604266) LibStringTest:testToStringSignedGas() (gas: 7305) -LibStringTest:testToStringSignedMemory(int256) (runs: 313, μ: 740827, ~: 602413) +LibStringTest:testToStringSignedMemory(int256) (runs: 256, μ: 757479, ~: 602375) LibStringTest:testToStringSignedOriginalGas() (gas: 9839) LibStringTest:testToStringUint256Max() (gas: 6687) LibStringTest:testToStringUint256MaxBrutalized() (gas: 612683) LibStringTest:testToStringZero() (gas: 699) LibStringTest:testToStringZeroBrutalized() (gas: 600697) -LibStringTest:testToStringZeroRightPadded(uint256) (runs: 313, μ: 707881, ~: 601880) +LibStringTest:testToStringZeroRightPadded(uint256) (runs: 256, μ: 721465, ~: 601571) LibStringTest:test__codesize() (gas: 43051) LibZipTest:testCdCompress() (gas: 126842) -LibZipTest:testCdCompressDecompress(bytes) (runs: 313, μ: 758598, ~: 652501) -LibZipTest:testCdCompressDecompress(uint256) (runs: 313, μ: 782080, ~: 671663) +LibZipTest:testCdCompressDecompress(bytes) (runs: 256, μ: 758249, ~: 652089) +LibZipTest:testCdCompressDecompress(uint256) (runs: 256, μ: 804796, ~: 671491) LibZipTest:testCdDecompressOnInvalidInput() (gas: 1397) LibZipTest:testCdFallback() (gas: 5622174) -LibZipTest:testCdFallback(bytes,uint256) (runs: 313, μ: 1168151, ~: 1047950) -LibZipTest:testCdFallbackDecompressor(bytes) (runs: 313, μ: 121495, ~: 118335) -LibZipTest:testCdFallbackDecompressor(uint256) (runs: 313, μ: 174303, ~: 159322) -LibZipTest:testCdFallbackMaskTrick(uint256,uint256) (runs: 313, μ: 595, ~: 585) -LibZipTest:testDecompressWontRevert(bytes) (runs: 313, μ: 681706, ~: 632911) +LibZipTest:testCdFallback(bytes,uint256) (runs: 256, μ: 1169178, ~: 1046708) +LibZipTest:testCdFallbackDecompressor(bytes) (runs: 256, μ: 121178, ~: 117600) +LibZipTest:testCdFallbackDecompressor(uint256) (runs: 256, μ: 177241, ~: 159781) +LibZipTest:testCdFallbackMaskTrick(uint256,uint256) (runs: 256, μ: 594, ~: 585) +LibZipTest:testDecompressWontRevert(bytes) (runs: 256, μ: 684186, ~: 631812) LibZipTest:testFlzCompressDecompress() (gas: 1249620) -LibZipTest:testFlzCompressDecompress(bytes) (runs: 313, μ: 763035, ~: 665581) +LibZipTest:testFlzCompressDecompress(bytes) (runs: 256, μ: 734442, ~: 665410) LibZipTest:testFlzCompressDecompress2() (gas: 758656) LibZipTest:test__codesize() (gas: 20344) -LifebuoyTest:testLifebuoyCreateDeployment(address,address,uint256) (runs: 313, μ: 3125259, ~: 3570652) -LifebuoyTest:testLifebuoyOwnedCloneRescuePermissions(bytes32) (runs: 313, μ: 940784, ~: 940737) -LifebuoyTest:testLifebuoyOwnedRescuePermissions(bytes32) (runs: 313, μ: 944881, ~: 936405) -LifebuoyTest:testLifebuoyRescuePermissions(bytes32) (runs: 313, μ: 925204, ~: 904397) +LifebuoyTest:testLifebuoyCreateDeployment(address,address,uint256) (runs: 256, μ: 3198170, ~: 4084811) +LifebuoyTest:testLifebuoyOwnedCloneRescuePermissions(bytes32) (runs: 256, μ: 940811, ~: 940737) +LifebuoyTest:testLifebuoyOwnedRescuePermissions(bytes32) (runs: 256, μ: 945227, ~: 936312) +LifebuoyTest:testLifebuoyRescuePermissions(bytes32) (runs: 256, μ: 924903, ~: 904332) LifebuoyTest:testLockEverything() (gas: 659396) LifebuoyTest:testLockRescue() (gas: 686867) LifebuoyTest:testLockRescueETH() (gas: 697996) -LifebuoyTest:testRescueERC20(uint256) (runs: 313, μ: 654423, ~: 655856) -LifebuoyTest:testRescueERC721(bytes32) (runs: 313, μ: 650611, ~: 650882) -LifebuoyTest:testRescueETH(uint256) (runs: 313, μ: 662915, ~: 663974) +LifebuoyTest:testRescueERC20(uint256) (runs: 256, μ: 654380, ~: 655852) +LifebuoyTest:testRescueERC721(bytes32) (runs: 256, μ: 650623, ~: 650882) +LifebuoyTest:testRescueETH(uint256) (runs: 256, μ: 663072, ~: 663967) LifebuoyTest:test__codesize() (gas: 31162) MerkleProofLibTest:testEmptyCalldataHelpers() (gas: 985) -MerkleProofLibTest:testVerifyMultiProof(bool,bool,bool,bool,bytes32) (runs: 313, μ: 756666, ~: 633092) -MerkleProofLibTest:testVerifyMultiProofForHeightOneTree(bool,bool,bool,bool,bool,bool[]) (runs: 313, μ: 37808, ~: 38830) -MerkleProofLibTest:testVerifyMultiProofForHeightTwoTree(bool,bool,bool,bool,bool,bytes32) (runs: 313, μ: 6506, ~: 6490) -MerkleProofLibTest:testVerifyMultiProofForSingleLeaf(bytes32[],uint256) (runs: 313, μ: 900111, ~: 803339) +MerkleProofLibTest:testVerifyMultiProof(bool,bool,bool,bool,bytes32) (runs: 256, μ: 755652, ~: 633145) +MerkleProofLibTest:testVerifyMultiProofForHeightOneTree(bool,bool,bool,bool,bool,bool[]) (runs: 256, μ: 37908, ~: 38470) +MerkleProofLibTest:testVerifyMultiProofForHeightTwoTree(bool,bool,bool,bool,bool,bytes32) (runs: 256, μ: 6511, ~: 6467) +MerkleProofLibTest:testVerifyMultiProofForSingleLeaf(bytes32[],uint256) (runs: 256, μ: 908621, ~: 803854) MerkleProofLibTest:testVerifyMultiProofIsInvalid() (gas: 631963) MerkleProofLibTest:testVerifyMultiProofIsValid() (gas: 633237) MerkleProofLibTest:testVerifyMultiProofMalicious() (gas: 7918) -MerkleProofLibTest:testVerifyProof(bytes32[],uint256) (runs: 313, μ: 868544, ~: 782643) -MerkleProofLibTest:testVerifyProofBasicCase(bool,bool,bool,bytes32) (runs: 313, μ: 4043, ~: 3906) +MerkleProofLibTest:testVerifyProof(bytes32[],uint256) (runs: 256, μ: 871539, ~: 782732) +MerkleProofLibTest:testVerifyProofBasicCase(bool,bool,bool,bytes32) (runs: 256, μ: 4039, ~: 3906) MerkleProofLibTest:testVerifyProofBasicCaseIsInvalid() (gas: 3626) MerkleProofLibTest:testVerifyProofBasicCaseIsValid() (gas: 3590) -MerkleProofLibTest:testVerifyProofForHeightOneTree(bool,bool,bool,bool) (runs: 313, μ: 2693, ~: 2968) +MerkleProofLibTest:testVerifyProofForHeightOneTree(bool,bool,bool,bool) (runs: 256, μ: 2693, ~: 2968) MerkleProofLibTest:test__codesize() (gas: 11663) -MetadataReaderLibTest:testBoundsCheckDifferential(uint256) (runs: 313, μ: 25479, ~: 25474) +MetadataReaderLibTest:testBoundsCheckDifferential(uint256) (runs: 256, μ: 25481, ~: 25478) MetadataReaderLibTest:testReadBytes32String() (gas: 667978) MetadataReaderLibTest:testReadBytes32StringTruncated() (gas: 782746) -MetadataReaderLibTest:testReadString(uint256) (runs: 313, μ: 842609, ~: 725341) +MetadataReaderLibTest:testReadString(uint256) (runs: 256, μ: 851624, ~: 725613) MetadataReaderLibTest:testReadStringChopped() (gas: 272350) -MetadataReaderLibTest:testReadStringTruncated(uint256) (runs: 313, μ: 832239, ~: 712768) +MetadataReaderLibTest:testReadStringTruncated(uint256) (runs: 256, μ: 849956, ~: 712820) MetadataReaderLibTest:testReadUint() (gas: 921729) -MetadataReaderLibTest:testReadUint(uint256) (runs: 313, μ: 46694, ~: 47136) +MetadataReaderLibTest:testReadUint(uint256) (runs: 256, μ: 46824, ~: 47136) MetadataReaderLibTest:test__codesize() (gas: 8049) -MinHeapLibTest:testHeapEnqueue(uint256) (runs: 313, μ: 180970, ~: 181221) -MinHeapLibTest:testHeapEnqueue2(uint256) (runs: 313, μ: 592087, ~: 448944) +MinHeapLibTest:testHeapEnqueue(uint256) (runs: 256, μ: 180726, ~: 181221) +MinHeapLibTest:testHeapEnqueue2(uint256) (runs: 256, μ: 606951, ~: 494164) MinHeapLibTest:testHeapEnqueueGas() (gas: 841356) -MinHeapLibTest:testHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 313, μ: 46732, ~: 28352) -MinHeapLibTest:testHeapPSiftTrick(uint256,uint256,uint256) (runs: 313, μ: 686, ~: 517) -MinHeapLibTest:testHeapPushAndPop(uint256) (runs: 313, μ: 113236, ~: 124443) -MinHeapLibTest:testHeapPushPop(uint256) (runs: 313, μ: 244461, ~: 237201) -MinHeapLibTest:testHeapPushPopLength(uint256) (runs: 313, μ: 937167, ~: 859344) -MinHeapLibTest:testHeapReplace(uint256) (runs: 313, μ: 290683, ~: 288455) -MinHeapLibTest:testHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 313, μ: 45353, ~: 50631) -MinHeapLibTest:testHeapRoot(uint256) (runs: 313, μ: 47207, ~: 47448) -MinHeapLibTest:testHeapSmallest(uint256) (runs: 313, μ: 1310998, ~: 1178434) +MinHeapLibTest:testHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 256, μ: 47142, ~: 28355) +MinHeapLibTest:testHeapPSiftTrick(uint256,uint256,uint256) (runs: 256, μ: 690, ~: 855) +MinHeapLibTest:testHeapPushAndPop(uint256) (runs: 256, μ: 112730, ~: 124625) +MinHeapLibTest:testHeapPushPop(uint256) (runs: 256, μ: 248313, ~: 242152) +MinHeapLibTest:testHeapPushPopLength(uint256) (runs: 256, μ: 923214, ~: 857081) +MinHeapLibTest:testHeapReplace(uint256) (runs: 256, μ: 296105, ~: 300971) +MinHeapLibTest:testHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 256, μ: 45442, ~: 50638) +MinHeapLibTest:testHeapRoot(uint256) (runs: 256, μ: 47617, ~: 47448) +MinHeapLibTest:testHeapSmallest(uint256) (runs: 256, μ: 1323444, ~: 1178947) MinHeapLibTest:testHeapSmallestGas() (gas: 50069382) -MinHeapLibTest:testMemHeapEnqueue(uint256) (runs: 313, μ: 1587796, ~: 948314) -MinHeapLibTest:testMemHeapEnqueue2(uint256) (runs: 313, μ: 857976, ~: 751850) +MinHeapLibTest:testMemHeapEnqueue(uint256) (runs: 256, μ: 1559228, ~: 947072) +MinHeapLibTest:testMemHeapEnqueue2(uint256) (runs: 256, μ: 871981, ~: 753764) MinHeapLibTest:testMemHeapEnqueueGas() (gas: 249458) -MinHeapLibTest:testMemHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 313, μ: 25026, ~: 23896) -MinHeapLibTest:testMemHeapPushAndPop(uint256) (runs: 313, μ: 931010, ~: 842142) +MinHeapLibTest:testMemHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 256, μ: 25083, ~: 25104) +MinHeapLibTest:testMemHeapPushAndPop(uint256) (runs: 256, μ: 955106, ~: 852297) MinHeapLibTest:testMemHeapPushGas() (gas: 35596) -MinHeapLibTest:testMemHeapPushPop(uint256) (runs: 313, μ: 1174077, ~: 1050000) -MinHeapLibTest:testMemHeapPushPopLength(uint256) (runs: 313, μ: 786966, ~: 702092) -MinHeapLibTest:testMemHeapReplace(uint256) (runs: 313, μ: 905746, ~: 781921) -MinHeapLibTest:testMemHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 313, μ: 25693, ~: 25269) -MinHeapLibTest:testMemHeapRoot(uint256) (runs: 313, μ: 740876, ~: 649611) -MinHeapLibTest:testMemHeapSmallest(uint256) (runs: 313, μ: 877021, ~: 758912) +MinHeapLibTest:testMemHeapPushPop(uint256) (runs: 256, μ: 1158525, ~: 1033887) +MinHeapLibTest:testMemHeapPushPopLength(uint256) (runs: 256, μ: 785941, ~: 703550) +MinHeapLibTest:testMemHeapReplace(uint256) (runs: 256, μ: 932740, ~: 782126) +MinHeapLibTest:testMemHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 256, μ: 25701, ~: 25272) +MinHeapLibTest:testMemHeapRoot(uint256) (runs: 256, μ: 747793, ~: 649667) +MinHeapLibTest:testMemHeapSmallest(uint256) (runs: 256, μ: 868377, ~: 760205) MinHeapLibTest:testMemHeapSmallestGas() (gas: 2985537) MinHeapLibTest:testMemHeapWriteAndReadFromStorage() (gas: 67756) MinHeapLibTest:testMemHeapWriteAndReadFromStorage2() (gas: 67774) @@ -1032,66 +1032,66 @@ MulticallableTest:testMulticallableBenchmark() (gas: 29642) MulticallableTest:testMulticallableOriginalBenchmark() (gas: 38935) MulticallableTest:testMulticallablePreservesMsgSender() (gas: 11166) MulticallableTest:testMulticallableReturnDataIsProperlyEncoded() (gas: 11665) -MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(string,string,uint256) (runs: 313, μ: 12124, ~: 7437) -MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(uint256,uint256,uint256,uint256) (runs: 313, μ: 11811, ~: 11811) +MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(string,string,uint256) (runs: 256, μ: 12085, ~: 7434) +MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(uint256,uint256,uint256,uint256) (runs: 256, μ: 11811, ~: 11811) MulticallableTest:testMulticallableRevertWithCustomError() (gas: 11811) MulticallableTest:testMulticallableRevertWithMessage() (gas: 13483) -MulticallableTest:testMulticallableRevertWithMessage(string) (runs: 313, μ: 14094, ~: 13944) +MulticallableTest:testMulticallableRevertWithMessage(string) (runs: 256, μ: 14096, ~: 13944) MulticallableTest:testMulticallableRevertWithNothing() (gas: 11673) MulticallableTest:testMulticallableWithNoData() (gas: 6286) MulticallableTest:test__codesize() (gas: 8867) OwnableRolesTest:testBytecodeSize() (gas: 350635) -OwnableRolesTest:testGrantAndRemoveRolesDirect(address,uint256,uint256) (runs: 313, μ: 40118, ~: 40750) -OwnableRolesTest:testGrantAndRevokeOrRenounceRoles(address,bool,bool,bool,uint256,uint256) (runs: 313, μ: 27505, ~: 31153) +OwnableRolesTest:testGrantAndRemoveRolesDirect(address,uint256,uint256) (runs: 256, μ: 40104, ~: 40750) +OwnableRolesTest:testGrantAndRevokeOrRenounceRoles(address,bool,bool,bool,uint256,uint256) (runs: 256, μ: 27257, ~: 16047) OwnableRolesTest:testGrantRoles() (gas: 36136) OwnableRolesTest:testHandoverOwnership() (gas: 32394) -OwnableRolesTest:testHandoverOwnership(address) (runs: 313, μ: 32435, ~: 32420) +OwnableRolesTest:testHandoverOwnership(address) (runs: 256, μ: 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: 313, μ: 33583, ~: 33580) -OwnableRolesTest:testHasAnyRole(address,uint256,uint256) (runs: 313, μ: 33184, ~: 33375) +OwnableRolesTest:testHasAllRoles(address,uint256,uint256,uint256,bool) (runs: 256, μ: 33584, ~: 33588) +OwnableRolesTest:testHasAnyRole(address,uint256,uint256) (runs: 256, μ: 33219, ~: 33375) OwnableRolesTest:testInitializeOwnerDirect() (gas: 16738) -OwnableRolesTest:testOnlyOwnerModifier(address,bool) (runs: 313, μ: 21109, ~: 30023) +OwnableRolesTest:testOnlyOwnerModifier(address,bool) (runs: 256, μ: 20965, ~: 30023) OwnableRolesTest:testOnlyOwnerOrRolesModifier() (gas: 36238) -OwnableRolesTest:testOnlyOwnerOrRolesModifier(address,bool,uint256,uint256) (runs: 313, μ: 55559, ~: 55110) -OwnableRolesTest:testOnlyRolesModifier(address,uint256,uint256) (runs: 313, μ: 56044, ~: 57903) -OwnableRolesTest:testOnlyRolesOrOwnerModifier(address,bool,uint256,uint256) (runs: 313, μ: 56525, ~: 57277) +OwnableRolesTest:testOnlyOwnerOrRolesModifier(address,bool,uint256,uint256) (runs: 256, μ: 55524, ~: 56641) +OwnableRolesTest:testOnlyRolesModifier(address,uint256,uint256) (runs: 256, μ: 56133, ~: 57903) +OwnableRolesTest:testOnlyRolesOrOwnerModifier(address,bool,uint256,uint256) (runs: 256, μ: 56446, ~: 57657) OwnableRolesTest:testOrdinalsFromRoles() (gas: 3756443) -OwnableRolesTest:testOrdinalsFromRoles(uint256) (runs: 313, μ: 59097, ~: 44490) +OwnableRolesTest:testOrdinalsFromRoles(uint256) (runs: 256, μ: 59525, ~: 42037) OwnableRolesTest:testOwnershipHandoverValidForDefaultValue() (gas: 5825) OwnableRolesTest:testRenounceOwnership() (gas: 12921) OwnableRolesTest:testRolesFromOrdinals() (gas: 652364) -OwnableRolesTest:testRolesFromOrdinals(uint8[]) (runs: 313, μ: 81461, ~: 85017) +OwnableRolesTest:testRolesFromOrdinals(uint8[]) (runs: 256, μ: 81222, ~: 85587) OwnableRolesTest:testSetOwnerDirect() (gas: 17790) -OwnableRolesTest:testSetOwnerDirect(address) (runs: 313, μ: 17915, ~: 17915) -OwnableRolesTest:testSetRolesDirect(uint256) (runs: 313, μ: 99808, ~: 99925) +OwnableRolesTest:testSetOwnerDirect(address) (runs: 256, μ: 17915, ~: 17915) +OwnableRolesTest:testSetRolesDirect(uint256) (runs: 256, μ: 99781, ~: 99925) OwnableRolesTest:testTransferOwnership() (gas: 19313) -OwnableRolesTest:testTransferOwnership(address,bool,bool) (runs: 313, μ: 14208, ~: 12377) +OwnableRolesTest:testTransferOwnership(address,bool,bool) (runs: 256, μ: 14230, ~: 12377) OwnableRolesTest:test__codesize() (gas: 21655) OwnableTest:testBytecodeSize() (gas: 235158) OwnableTest:testHandoverOwnership() (gas: 32127) -OwnableTest:testHandoverOwnership(address) (runs: 313, μ: 32149, ~: 32136) +OwnableTest:testHandoverOwnership(address) (runs: 256, μ: 32150, ~: 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: 313, μ: 21056, ~: 30001) +OwnableTest:testOnlyOwnerModifier(address,bool) (runs: 256, μ: 20911, ~: 30001) OwnableTest:testOwnershipHandoverValidForDefaultValue() (gas: 5737) OwnableTest:testRenounceOwnership() (gas: 12755) OwnableTest:testSetOwnerDirect() (gas: 17700) -OwnableTest:testSetOwnerDirect(address) (runs: 313, μ: 17810, ~: 17826) +OwnableTest:testSetOwnerDirect(address) (runs: 256, μ: 17807, ~: 17826) OwnableTest:testTransferOwnership() (gas: 19210) -OwnableTest:testTransferOwnership(address,bool,bool) (runs: 313, μ: 13987, ~: 12183) +OwnableTest:testTransferOwnership(address,bool,bool) (runs: 256, μ: 14003, ~: 12183) OwnableTest:test__codesize() (gas: 11003) -P256Test:testP256Verify(uint256,bytes32) (runs: 313, μ: 493513, ~: 493406) +P256Test:testP256Verify(uint256,bytes32) (runs: 256, μ: 493450, ~: 493356) 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: 313, μ: 10815, ~: 10799) +P256Test:testP256VerifyNotDeployedReverts(bytes32,bytes32,bytes32,bytes32,bytes32,bool) (runs: 256, μ: 10815, ~: 10799) P256Test:testP256VerifyOutOfBounds() (gas: 201377) P256Test:testP256VerifyWycheproof() (gas: 3268) P256Test:test__codesize() (gas: 11373) @@ -1102,8 +1102,8 @@ ReceiverTest:testOnERC721Received() (gas: 64593) ReceiverTest:test__codesize() (gas: 3053) RedBlackTreeLibTest:testRedBlackTreeBenchUint160() (gas: 3428194) RedBlackTreeLibTest:testRedBlackTreeBenchUint256() (gas: 5841865) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 313, μ: 548799, ~: 535248) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 313, μ: 427849, ~: 433772) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 256, μ: 548981, ~: 535382) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 256, μ: 415915, ~: 423682) RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove3() (gas: 21527899) RedBlackTreeLibTest:testRedBlackTreeInsertBenchStep() (gas: 3702908) RedBlackTreeLibTest:testRedBlackTreeInsertBenchUint160() (gas: 3468526) @@ -1112,16 +1112,16 @@ RedBlackTreeLibTest:testRedBlackTreeInsertOneGas() (gas: 45558) RedBlackTreeLibTest:testRedBlackTreeInsertTenGas() (gas: 282691) RedBlackTreeLibTest:testRedBlackTreeInsertThreeGas() (gas: 96175) RedBlackTreeLibTest:testRedBlackTreeInsertTwoGas() (gas: 69785) -RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 313, μ: 252114, ~: 249034) -RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 313, μ: 244623, ~: 227187) -RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 313, μ: 272822, ~: 274243) +RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 256, μ: 247785, ~: 249207) +RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 256, μ: 246205, ~: 231492) +RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 256, μ: 275290, ~: 282235) RedBlackTreeLibTest:testRedBlackTreePointers() (gas: 91643) RedBlackTreeLibTest:testRedBlackTreeRejectsEmptyValue() (gas: 3232) RedBlackTreeLibTest:testRedBlackTreeRemoveViaPointer() (gas: 58157) RedBlackTreeLibTest:testRedBlackTreeTreeFullReverts() (gas: 50317) RedBlackTreeLibTest:testRedBlackTreeTryInsertAndRemove() (gas: 56062) RedBlackTreeLibTest:testRedBlackTreeValues() (gas: 188548) -RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 313, μ: 387905, ~: 244098) +RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 256, μ: 375020, ~: 240658) RedBlackTreeLibTest:test__codesize() (gas: 13131) ReentrancyGuardTest:testRecursiveDirectUnguardedCall() (gas: 34276) ReentrancyGuardTest:testRecursiveIndirectUnguardedCall() (gas: 47727) @@ -1131,109 +1131,109 @@ ReentrancyGuardTest:testRevertRecursiveDirectGuardedCall() (gas: 55123) ReentrancyGuardTest:testRevertRecursiveIndirectGuardedCall() (gas: 56529) ReentrancyGuardTest:testRevertRemoteCallback() (gas: 56230) ReentrancyGuardTest:test__codesize() (gas: 4403) -SSTORE2Test:testReadRevertsOnZeroCodeAddress(address) (runs: 313, μ: 101803, ~: 29905) +SSTORE2Test:testReadRevertsOnZeroCodeAddress(address) (runs: 256, μ: 109243, ~: 29905) SSTORE2Test:testReadSlicing() (gas: 48874) SSTORE2Test:testWriteRead() (gas: 35880) -SSTORE2Test:testWriteRead(uint256,uint256) (runs: 313, μ: 1063006, ~: 67390) -SSTORE2Test:testWriteReadCounterfactual(bytes,bytes32,address) (runs: 313, μ: 4132760, ~: 108268) +SSTORE2Test:testWriteRead(uint256,uint256) (runs: 256, μ: 1093652, ~: 67527) +SSTORE2Test:testWriteReadCounterfactual(bytes,bytes32,address) (runs: 256, μ: 4271622, ~: 108268) SSTORE2Test:testWriteReadCustomBounds() (gas: 33936) SSTORE2Test:testWriteReadCustomStartBound() (gas: 34020) SSTORE2Test:testWriteReadDeterministic() (gas: 70156) -SSTORE2Test:testWriteReadDeterministic(bytes,bytes32) (runs: 313, μ: 3500351, ~: 96728) +SSTORE2Test:testWriteReadDeterministic(bytes,bytes32) (runs: 256, μ: 2745391, ~: 96728) SSTORE2Test:testWriteReadEmptyBound() (gas: 33734) SSTORE2Test:testWriteReadFullBoundedRead() (gas: 35937) SSTORE2Test:testWriteReadFullStartBound() (gas: 33983) SSTORE2Test:testWriteWithTooBigDataReverts() (gas: 97303641) SSTORE2Test:test__codesize() (gas: 8483) -SafeCastLibTest:testSafeCastInt256ToInt(int256,uint256) (runs: 313, μ: 19078, ~: 24773) +SafeCastLibTest:testSafeCastInt256ToInt(int256,uint256) (runs: 256, μ: 19549, ~: 24780) SafeCastLibTest:testSafeCastInt256ToIntBench() (gas: 341694) -SafeCastLibTest:testSafeCastInt256ToIntTrickEquivalence(int256) (runs: 313, μ: 406, ~: 406) -SafeCastLibTest:testSafeCastToInt256(uint256) (runs: 313, μ: 496, ~: 405) -SafeCastLibTest:testSafeCastToUint256(int256) (runs: 313, μ: 1299, ~: 428) -SafeCastLibTest:testSafeCastUint256ToInt(uint256,uint256) (runs: 313, μ: 26997, ~: 26187) +SafeCastLibTest:testSafeCastInt256ToIntTrickEquivalence(int256) (runs: 256, μ: 406, ~: 406) +SafeCastLibTest:testSafeCastToInt256(uint256) (runs: 256, μ: 505, ~: 405) +SafeCastLibTest:testSafeCastToUint256(int256) (runs: 256, μ: 1316, ~: 428) +SafeCastLibTest:testSafeCastUint256ToInt(uint256,uint256) (runs: 256, μ: 26903, ~: 26158) SafeCastLibTest:testSafeCastUint256ToInt256Bench() (gas: 29380) SafeCastLibTest:testSafeCastUint256ToIntBench() (gas: 330222) SafeCastLibTest:testSafeCastUint256ToUintBench() (gas: 326262) -SafeCastLibTest:testSafeCastUintToUint(uint256,uint256) (runs: 313, μ: 19158, ~: 24811) +SafeCastLibTest:testSafeCastUintToUint(uint256,uint256) (runs: 256, μ: 19254, ~: 24810) SafeCastLibTest:test__codesize() (gas: 23416) -SafeTransferLibTest:testApproveWithGarbageReverts(address,uint256) (runs: 313, μ: 110277, ~: 123658) +SafeTransferLibTest:testApproveWithGarbageReverts(address,uint256) (runs: 256, μ: 110653, ~: 123532) SafeTransferLibTest:testApproveWithMissingReturn() (gas: 32065) -SafeTransferLibTest:testApproveWithMissingReturn(address,uint256) (runs: 313, μ: 32157, ~: 32285) +SafeTransferLibTest:testApproveWithMissingReturn(address,uint256) (runs: 256, μ: 32207, ~: 32285) SafeTransferLibTest:testApproveWithNonContract() (gas: 2967) -SafeTransferLibTest:testApproveWithNonContract(address,address,uint256) (runs: 313, μ: 3552, ~: 3613) -SafeTransferLibTest:testApproveWithNonGarbage(address,uint256) (runs: 313, μ: 79651, ~: 59368) +SafeTransferLibTest:testApproveWithNonContract(address,address,uint256) (runs: 256, μ: 3539, ~: 3613) +SafeTransferLibTest:testApproveWithNonGarbage(address,uint256) (runs: 256, μ: 79454, ~: 59367) SafeTransferLibTest:testApproveWithRetry() (gas: 839894) -SafeTransferLibTest:testApproveWithRetry(address,uint256,uint256) (runs: 313, μ: 839743, ~: 840010) +SafeTransferLibTest:testApproveWithRetry(address,uint256,uint256) (runs: 256, μ: 839830, ~: 840010) SafeTransferLibTest:testApproveWithRetryWithNonContract() (gas: 2990) -SafeTransferLibTest:testApproveWithRetryWithNonContract(address,address,uint256) (runs: 313, μ: 3571, ~: 3632) +SafeTransferLibTest:testApproveWithRetryWithNonContract(address,address,uint256) (runs: 256, μ: 3558, ~: 3632) SafeTransferLibTest:testApproveWithReturnsFalseReverts() (gas: 9713) -SafeTransferLibTest:testApproveWithReturnsFalseReverts(address,uint256) (runs: 313, μ: 9866, ~: 9866) +SafeTransferLibTest:testApproveWithReturnsFalseReverts(address,uint256) (runs: 256, μ: 9866, ~: 9866) SafeTransferLibTest:testApproveWithReturnsTooLittleReverts() (gas: 9617) -SafeTransferLibTest:testApproveWithReturnsTooLittleReverts(address,uint256) (runs: 313, μ: 9795, ~: 9795) +SafeTransferLibTest:testApproveWithReturnsTooLittleReverts(address,uint256) (runs: 256, μ: 9795, ~: 9795) SafeTransferLibTest:testApproveWithReturnsTooMuch() (gas: 32511) -SafeTransferLibTest:testApproveWithReturnsTooMuch(address,uint256) (runs: 313, μ: 32541, ~: 32669) -SafeTransferLibTest:testApproveWithReturnsTwoReverts(address,uint256) (runs: 313, μ: 9823, ~: 9823) +SafeTransferLibTest:testApproveWithReturnsTooMuch(address,uint256) (runs: 256, μ: 32591, ~: 32669) +SafeTransferLibTest:testApproveWithReturnsTwoReverts(address,uint256) (runs: 256, μ: 9823, ~: 9823) SafeTransferLibTest:testApproveWithRevertingReverts() (gas: 9574) -SafeTransferLibTest:testApproveWithRevertingReverts(address,uint256) (runs: 313, μ: 9784, ~: 9784) +SafeTransferLibTest:testApproveWithRevertingReverts(address,uint256) (runs: 256, μ: 9784, ~: 9784) SafeTransferLibTest:testApproveWithStandardERC20() (gas: 31951) -SafeTransferLibTest:testApproveWithStandardERC20(address,uint256) (runs: 313, μ: 32045, ~: 32173) +SafeTransferLibTest:testApproveWithStandardERC20(address,uint256) (runs: 256, μ: 32095, ~: 32173) SafeTransferLibTest:testBalanceOfStandardERC20() (gas: 7852) -SafeTransferLibTest:testBalanceOfStandardERC20(address,uint256) (runs: 313, μ: 37177, ~: 37498) +SafeTransferLibTest:testBalanceOfStandardERC20(address,uint256) (runs: 256, μ: 37124, ~: 37498) SafeTransferLibTest:testForceTransferETHToGriever() (gas: 1511587) -SafeTransferLibTest:testForceTransferETHToGriever(uint256,uint256) (runs: 313, μ: 536139, ~: 570885) +SafeTransferLibTest:testForceTransferETHToGriever(uint256,uint256) (runs: 256, μ: 537735, ~: 570885) SafeTransferLibTest:testPermit2() (gas: 88950) -SafeTransferLibTest:testPermit2InvalidAmount(uint256) (runs: 313, μ: 102082, ~: 102116) +SafeTransferLibTest:testPermit2InvalidAmount(uint256) (runs: 256, μ: 102086, ~: 102121) SafeTransferLibTest:testPermit2OnDAI() (gas: 89147) -SafeTransferLibTest:testPermit2TransferFromInvalidAmount(uint256) (runs: 313, μ: 135540, ~: 135892) +SafeTransferLibTest:testPermit2TransferFromInvalidAmount(uint256) (runs: 256, μ: 135550, ~: 135894) SafeTransferLibTest:testSimplePermit2AndPermit2TransferFrom() (gas: 1117812) SafeTransferLibTest:testSimplePermit2AndPermit2TransferFromGas() (gas: 139429) SafeTransferLibTest:testTransferAllETH() (gas: 34643) -SafeTransferLibTest:testTransferAllETH(bytes32) (runs: 313, μ: 57052, ~: 57052) +SafeTransferLibTest:testTransferAllETH(bytes32) (runs: 256, μ: 57052, ~: 57052) SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts() (gas: 10782) -SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts(uint256) (runs: 313, μ: 10869, ~: 10869) +SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts(uint256) (runs: 256, μ: 10869, ~: 10869) SafeTransferLibTest:testTransferAllFromWithStandardERC20() (gas: 33323) -SafeTransferLibTest:testTransferAllFromWithStandardERC20(address,address,uint256) (runs: 313, μ: 56738, ~: 56720) +SafeTransferLibTest:testTransferAllFromWithStandardERC20(address,address,uint256) (runs: 256, μ: 56741, ~: 56725) SafeTransferLibTest:testTransferAllWithStandardERC20() (gas: 30832) -SafeTransferLibTest:testTransferAllWithStandardERC20(address,uint256) (runs: 313, μ: 39342, ~: 39342) +SafeTransferLibTest:testTransferAllWithStandardERC20(address,uint256) (runs: 256, μ: 39342, ~: 39342) SafeTransferLibTest:testTransferETH() (gas: 34622) -SafeTransferLibTest:testTransferETH(bytes32,uint256) (runs: 313, μ: 56987, ~: 57320) +SafeTransferLibTest:testTransferETH(bytes32,uint256) (runs: 256, μ: 57018, ~: 57320) SafeTransferLibTest:testTransferETHToContractWithoutFallbackReverts() (gas: 10851) -SafeTransferLibTest:testTransferETHToContractWithoutFallbackReverts(uint256) (runs: 313, μ: 10721, ~: 10888) -SafeTransferLibTest:testTransferFromWithGarbageReverts(address,address,uint256) (runs: 313, μ: 800838, ~: 699300) +SafeTransferLibTest:testTransferETHToContractWithoutFallbackReverts(uint256) (runs: 256, μ: 10766, ~: 10888) +SafeTransferLibTest:testTransferFromWithGarbageReverts(address,address,uint256) (runs: 256, μ: 817409, ~: 699300) SafeTransferLibTest:testTransferFromWithMissingReturn() (gas: 564163) -SafeTransferLibTest:testTransferFromWithMissingReturn(address,address,uint256) (runs: 313, μ: 686648, ~: 564840) +SafeTransferLibTest:testTransferFromWithMissingReturn(address,address,uint256) (runs: 256, μ: 679078, ~: 564850) SafeTransferLibTest:testTransferFromWithNonContract() (gas: 3066) -SafeTransferLibTest:testTransferFromWithNonContract(address,address,address,uint256) (runs: 313, μ: 3840, ~: 3861) -SafeTransferLibTest:testTransferFromWithNonGarbage(address,address,uint256) (runs: 313, μ: 741242, ~: 615044) +SafeTransferLibTest:testTransferFromWithNonContract(address,address,address,uint256) (runs: 256, μ: 3836, ~: 3861) +SafeTransferLibTest:testTransferFromWithNonGarbage(address,address,uint256) (runs: 256, μ: 757186, ~: 615035) SafeTransferLibTest:testTransferFromWithReturnsFalseReverts() (gas: 530320) -SafeTransferLibTest:testTransferFromWithReturnsFalseReverts(address,address,uint256) (runs: 313, μ: 643891, ~: 530740) +SafeTransferLibTest:testTransferFromWithReturnsFalseReverts(address,address,uint256) (runs: 256, μ: 627027, ~: 530700) SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts() (gas: 530297) -SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts(address,address,uint256) (runs: 313, μ: 690848, ~: 530535) +SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts(address,address,uint256) (runs: 256, μ: 650659, ~: 530535) SafeTransferLibTest:testTransferFromWithReturnsTooMuch() (gas: 564800) -SafeTransferLibTest:testTransferFromWithReturnsTooMuch(address,address,uint256) (runs: 313, μ: 688010, ~: 565302) -SafeTransferLibTest:testTransferFromWithReturnsTwoReverts(address,address,uint256) (runs: 313, μ: 607371, ~: 530619) +SafeTransferLibTest:testTransferFromWithReturnsTooMuch(address,address,uint256) (runs: 256, μ: 705132, ~: 565302) +SafeTransferLibTest:testTransferFromWithReturnsTwoReverts(address,address,uint256) (runs: 256, μ: 589729, ~: 530629) SafeTransferLibTest:testTransferFromWithRevertingReverts() (gas: 523583) -SafeTransferLibTest:testTransferFromWithRevertingReverts(address,address,uint256) (runs: 313, μ: 596476, ~: 523720) +SafeTransferLibTest:testTransferFromWithRevertingReverts(address,address,uint256) (runs: 256, μ: 605497, ~: 523720) SafeTransferLibTest:testTransferFromWithStandardERC20() (gas: 562845) -SafeTransferLibTest:testTransferFromWithStandardERC20(address,address,uint256) (runs: 313, μ: 705172, ~: 562356) -SafeTransferLibTest:testTransferWithGarbageReverts(address,uint256) (runs: 313, μ: 721943, ~: 642746) +SafeTransferLibTest:testTransferFromWithStandardERC20(address,address,uint256) (runs: 256, μ: 726564, ~: 562386) +SafeTransferLibTest:testTransferWithGarbageReverts(address,uint256) (runs: 256, μ: 717207, ~: 642743) SafeTransferLibTest:testTransferWithMissingReturn() (gas: 550861) -SafeTransferLibTest:testTransferWithMissingReturn(address,uint256) (runs: 313, μ: 637211, ~: 551229) +SafeTransferLibTest:testTransferWithMissingReturn(address,uint256) (runs: 256, μ: 634050, ~: 551229) SafeTransferLibTest:testTransferWithNonContract() (gas: 3010) -SafeTransferLibTest:testTransferWithNonContract(bytes32,address,uint256) (runs: 313, μ: 25919, ~: 25919) -SafeTransferLibTest:testTransferWithNonGarbage(address,uint256) (runs: 313, μ: 666571, ~: 578418) +SafeTransferLibTest:testTransferWithNonContract(bytes32,address,uint256) (runs: 256, μ: 25919, ~: 25919) +SafeTransferLibTest:testTransferWithNonGarbage(address,uint256) (runs: 256, μ: 664535, ~: 578415) SafeTransferLibTest:testTransferWithReturnsFalseReverts() (gas: 527368) -SafeTransferLibTest:testTransferWithReturnsFalseReverts(address,uint256) (runs: 313, μ: 622681, ~: 527646) +SafeTransferLibTest:testTransferWithReturnsFalseReverts(address,uint256) (runs: 256, μ: 628043, ~: 527646) SafeTransferLibTest:testTransferWithReturnsTooLittleReverts() (gas: 527576) -SafeTransferLibTest:testTransferWithReturnsTooLittleReverts(address,uint256) (runs: 313, μ: 557746, ~: 527549) +SafeTransferLibTest:testTransferWithReturnsTooLittleReverts(address,uint256) (runs: 256, μ: 564470, ~: 527570) SafeTransferLibTest:testTransferWithReturnsTooMuch() (gas: 551262) -SafeTransferLibTest:testTransferWithReturnsTooMuch(address,uint256) (runs: 313, μ: 646563, ~: 551686) -SafeTransferLibTest:testTransferWithReturnsTwoReverts(address,uint256) (runs: 313, μ: 647284, ~: 527646) +SafeTransferLibTest:testTransferWithReturnsTooMuch(address,uint256) (runs: 256, μ: 666239, ~: 551686) +SafeTransferLibTest:testTransferWithReturnsTwoReverts(address,uint256) (runs: 256, μ: 659085, ~: 527646) SafeTransferLibTest:testTransferWithRevertingReverts() (gas: 527283) -SafeTransferLibTest:testTransferWithRevertingReverts(address,uint256) (runs: 313, μ: 663271, ~: 527582) +SafeTransferLibTest:testTransferWithRevertingReverts(address,uint256) (runs: 256, μ: 651820, ~: 527582) SafeTransferLibTest:testTransferWithStandardERC20() (gas: 551528) -SafeTransferLibTest:testTransferWithStandardERC20(address,uint256) (runs: 313, μ: 642898, ~: 551499) -SafeTransferLibTest:testTrySafeTransferFrom(address,address,uint256) (runs: 313, μ: 108530, ~: 111595) +SafeTransferLibTest:testTransferWithStandardERC20(address,uint256) (runs: 256, μ: 626102, ~: 551499) +SafeTransferLibTest:testTrySafeTransferFrom(address,address,uint256) (runs: 256, μ: 108582, ~: 111595) SafeTransferLibTest:testTryTransferAllETH() (gas: 148698) SafeTransferLibTest:testTryTransferETH() (gas: 148701) SafeTransferLibTest:testTryTransferETHWithNoGrief() (gas: 537025) @@ -1246,7 +1246,7 @@ SignatureCheckerLibTest:testERC6492PreDeploy() (gas: 1226946) SignatureCheckerLibTest:testERC6492WithoutRevertingVerifier() (gas: 61787) SignatureCheckerLibTest:testEmptyCalldataHelpers() (gas: 3987) SignatureCheckerLibTest:testEtchERC6492RevertingVerifier() (gas: 56459) -SignatureCheckerLibTest:testSignatureChecker(bytes32) (runs: 313, μ: 56077, ~: 45424) +SignatureCheckerLibTest:testSignatureChecker(bytes32) (runs: 256, μ: 56203, ~: 45424) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithInvalidSignature() (gas: 21300) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithInvalidSigner() (gas: 30800) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithMatchingSignerAndSignature() (gas: 17697) @@ -1257,8 +1257,8 @@ SignatureCheckerLibTest:testSignatureCheckerOnWalletWithInvalidSigner() (gas: 25 SignatureCheckerLibTest:testSignatureCheckerOnWalletWithMatchingSignerAndSignature() (gas: 64518) SignatureCheckerLibTest:testSignatureCheckerOnWalletWithWrongSignedMessageHash() (gas: 64597) SignatureCheckerLibTest:testSignatureCheckerOnWalletWithZeroAddressSigner() (gas: 12364) -SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes) (runs: 313, μ: 1285, ~: 1284) -SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes32) (runs: 313, μ: 481, ~: 481) +SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes) (runs: 256, μ: 1284, ~: 1284) +SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes32) (runs: 256, μ: 481, ~: 481) SignatureCheckerLibTest:test__codesize() (gas: 15454) SoladyTest:test__codesize() (gas: 840) TestPlus:test__codesize() (gas: 406) @@ -1274,7 +1274,7 @@ UUPSUpgradeableTest:testUpgradeToRevertWithUpgradeFailed() (gas: 18583) UUPSUpgradeableTest:test__codesize() (gas: 6048) UpgradeableBeaconTest:testInitializeUpgradeableSolidityBeacon() (gas: 296434) UpgradeableBeaconTest:testInitializeUpgradeableYulBeacon() (gas: 335455) -UpgradeableBeaconTest:testUpgradeableBeacon(uint256) (runs: 313, μ: 246044, ~: 255829) +UpgradeableBeaconTest:testUpgradeableBeacon(uint256) (runs: 256, μ: 246873, ~: 255829) UpgradeableBeaconTest:testUpgradeableSolidityBeaconOnlyFnSelectorNotRecognised() (gas: 234560) UpgradeableBeaconTest:testUpgradeableSolidityBeaconOnlyOwnerFunctions() (gas: 260339) UpgradeableBeaconTest:testUpgradeableYulBeaconOnlyFnSelectorNotRecognised() (gas: 172796) @@ -1283,12 +1283,12 @@ UpgradeableBeaconTest:test__codesize() (gas: 8511) WETHInvariants:invariantTotalSupplyEqualsBalance() (runs: 10, calls: 150, reverts: 74) WETHInvariants:test__codesize() (gas: 5178) WETHTest:testDeposit() (gas: 62272) -WETHTest:testDeposit(uint256) (runs: 313, μ: 61447, ~: 62566) +WETHTest:testDeposit(uint256) (runs: 256, μ: 61908, ~: 62566) WETHTest:testFallbackDeposit() (gas: 61978) -WETHTest:testFallbackDeposit(uint256) (runs: 313, μ: 61108, ~: 62227) +WETHTest:testFallbackDeposit(uint256) (runs: 256, μ: 61569, ~: 62227) WETHTest:testMetadata() (gas: 9013) WETHTest:testPartialWithdraw() (gas: 70422) WETHTest:testWithdraw() (gas: 52047) -WETHTest:testWithdraw(uint256,uint256) (runs: 313, μ: 69916, ~: 71175) +WETHTest:testWithdraw(uint256,uint256) (runs: 256, μ: 70547, ~: 71175) WETHTest:testWithdrawToContractWithoutReceiveReverts() (gas: 90164) WETHTest:test__codesize() (gas: 9410) \ No newline at end of file diff --git a/src/utils/ECDSA.sol b/src/utils/ECDSA.sol index 6ae27fb49..b5f47c324 100644 --- a/src/utils/ECDSA.sol +++ b/src/utils/ECDSA.sol @@ -425,14 +425,8 @@ library ECDSA { function canonicalHash(bytes memory signature) internal pure returns (bytes32 result) { // @solidity memory-safe-assembly assembly { - for { let l := mload(signature) } 1 {} { - // If the length is neither 64 nor 65, return a uniquely corrupted hash. - if iszero(lt(sub(l, 64), 2)) { - // `bytes4(keccak256("InvalidSignatureLength"))`. - result := xor(keccak256(add(signature, 0x20), l), 0xd62f1ab2) - break - } - let halfNPlus1 := _HALF_N_PLUS_1 + let l := mload(signature) + for {} 1 {} { mstore(0x00, mload(add(signature, 0x20))) // `r`. let s := mload(add(signature, 0x40)) let v := mload(add(signature, 0x41)) @@ -440,9 +434,9 @@ library ECDSA { v := add(shr(255, s), 27) s := shr(1, shl(1, s)) } - if iszero(lt(s, halfNPlus1)) { + if iszero(lt(s, _HALF_N_PLUS_1)) { v := xor(v, 7) - s := sub(add(halfNPlus1, halfNPlus1), add(s, 1)) + s := sub(N, s) } mstore(0x21, v) mstore(0x20, s) @@ -450,6 +444,12 @@ library ECDSA { mstore(0x21, 0) // Restore the overwritten part of the free memory pointer. break } + + // If the length is neither 64 nor 65, return a uniquely corrupted hash. + if iszero(lt(sub(l, 64), 2)) { + // `bytes4(keccak256("InvalidSignatureLength"))`. + result := xor(keccak256(add(signature, 0x20), l), 0xd62f1ab2) + } } } @@ -461,15 +461,8 @@ library ECDSA { { // @solidity memory-safe-assembly assembly { - for { let l := signature.length } 1 {} { - // If the length is neither 64 nor 65, return a uniquely corrupted hash. - if iszero(lt(sub(l, 64), 2)) { - calldatacopy(mload(0x40), signature.offset, l) - // `bytes4(keccak256("InvalidSignatureLength"))`. - result := xor(keccak256(mload(0x40), l), 0xd62f1ab2) - break - } - let halfNPlus1 := _HALF_N_PLUS_1 + let l := signature.length + for {} 1 {} { mstore(0x00, calldataload(signature.offset)) // `r`. let s := calldataload(add(signature.offset, 0x20)) let v := calldataload(add(signature.offset, 0x21)) @@ -477,9 +470,9 @@ library ECDSA { v := add(shr(255, s), 27) s := shr(1, shl(1, s)) } - if iszero(lt(s, halfNPlus1)) { + if iszero(lt(s, _HALF_N_PLUS_1)) { v := xor(v, 7) - s := sub(add(halfNPlus1, halfNPlus1), add(s, 1)) + s := sub(N, s) } mstore(0x21, v) mstore(0x20, s) @@ -487,6 +480,12 @@ library ECDSA { mstore(0x21, 0) // Restore the overwritten part of the free memory pointer. break } + // If the length is neither 64 nor 65, return a uniquely corrupted hash. + if iszero(lt(sub(l, 64), 2)) { + calldatacopy(mload(0x40), signature.offset, l) + // `bytes4(keccak256("InvalidSignatureLength"))`. + result := xor(keccak256(mload(0x40), l), 0xd62f1ab2) + } } } @@ -494,14 +493,9 @@ library ECDSA { function canonicalHash(bytes32 r, bytes32 vs) internal pure returns (bytes32 result) { // @solidity memory-safe-assembly assembly { - let halfNPlus1 := _HALF_N_PLUS_1 mstore(0x00, r) // `r`. let v := add(shr(255, vs), 27) let s := shr(1, shl(1, vs)) - if iszero(lt(s, halfNPlus1)) { - v := xor(v, 7) - s := sub(add(halfNPlus1, halfNPlus1), add(s, 1)) - } mstore(0x21, v) mstore(0x20, s) result := keccak256(0x00, 0x41) @@ -513,11 +507,10 @@ library ECDSA { function canonicalHash(uint8 v, bytes32 r, bytes32 s) internal pure returns (bytes32 result) { // @solidity memory-safe-assembly assembly { - let halfNPlus1 := _HALF_N_PLUS_1 mstore(0x00, r) // `r`. - if iszero(lt(s, halfNPlus1)) { + if iszero(lt(s, _HALF_N_PLUS_1)) { v := xor(v, 7) - s := sub(add(halfNPlus1, halfNPlus1), add(s, 1)) + s := sub(N, s) } mstore(0x21, v) mstore(0x20, s)