From 83029791817c3c7bc1ffb6a62ceafaa086fcd0f6 Mon Sep 17 00:00:00 2001 From: Vectorized Date: Mon, 19 Aug 2024 01:35:51 +0000 Subject: [PATCH] Improve brutalizer --- .gas-snapshot | 1184 ++++++++++++++++++------------------- test/utils/Brutalizer.sol | 64 +- 2 files changed, 620 insertions(+), 628 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index fe39bec97..437aa127f 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,31 +1,31 @@ Base64Test:testBase64DecodeSentenceGas() (gas: 3663) Base64Test:testBase64DecodeShortStringGas() (gas: 896) Base64Test:testBase64EncodeDecode(bytes) (runs: 314, μ: 6082, ~: 4968) -Base64Test:testBase64EncodeDecodeAltModes(bytes) (runs: 314, μ: 888442, ~: 735726) +Base64Test:testBase64EncodeDecodeAltModes(bytes) (runs: 314, μ: 863607, ~: 735832) Base64Test:testBase64EncodeEmptyString() (gas: 902) -Base64Test:testBase64EncodeFileSafeAndNoPadding(bytes,bool,bool) (runs: 314, μ: 15808, ~: 14264) +Base64Test:testBase64EncodeFileSafeAndNoPadding(bytes,bool,bool) (runs: 314, μ: 15800, ~: 14264) Base64Test:testBase64EncodeSentence() (gas: 4333) Base64Test:testBase64EncodeShortStrings() (gas: 7610) Base64Test:testBase64EncodeToStringWithDoublePadding() (gas: 1553) Base64Test:testBase64EncodeToStringWithNoPadding() (gas: 1531) Base64Test:testBase64EncodeToStringWithSinglePadding() (gas: 1487) Base64Test:testBase64WordBoundary() (gas: 11624) -Base64Test:test__codesize() (gas: 6841) -BrutalizerTest:testBrutalizedAddress(bytes32,address) (runs: 314, μ: 1388, ~: 1330) -BrutalizerTest:testBrutalizedBool(bytes32,bool) (runs: 314, μ: 1138, ~: 741) -BrutalizerTest:testBrutalizedBytes1(bytes32,bytes1) (runs: 314, μ: 1464, ~: 1397) -BrutalizerTest:testBrutalizedBytes31(bytes32,bytes31) (runs: 314, μ: 1411, ~: 1336) -BrutalizerTest:testBrutalizedUint248(bytes32,uint248) (runs: 314, μ: 1341, ~: 1287) -BrutalizerTest:testBrutalizedUint8(bytes32,uint8) (runs: 314, μ: 1286, ~: 1203) -BrutalizerTest:test__codesize() (gas: 2592) -CREATE3Test:testDeployERC20() (gas: 781627) -CREATE3Test:testDeployERC20(bytes32,string,string,uint8) (runs: 314, μ: 827777, ~: 827713) +Base64Test:test__codesize() (gas: 6851) +BrutalizerTest:testBrutalizedAddress(bytes32,address) (runs: 314, μ: 1205, ~: 1136) +BrutalizerTest:testBrutalizedBool(bytes32,bool) (runs: 314, μ: 953, ~: 632) +BrutalizerTest:testBrutalizedBytes1(bytes32,bytes1) (runs: 314, μ: 1252, ~: 1203) +BrutalizerTest:testBrutalizedBytes31(bytes32,bytes31) (runs: 314, μ: 1203, ~: 1142) +BrutalizerTest:testBrutalizedUint248(bytes32,uint248) (runs: 314, μ: 1152, ~: 1093) +BrutalizerTest:testBrutalizedUint8(bytes32,uint8) (runs: 314, μ: 1072, ~: 1009) +BrutalizerTest:test__codesize() (gas: 2577) +CREATE3Test:testDeployERC20() (gas: 780269) +CREATE3Test:testDeployERC20(bytes32,string,string,uint8) (runs: 314, μ: 826418, ~: 826353) CREATE3Test:testDeployedUpperBitsSafeForPlainSolidity() (gas: 613) CREATE3Test:testDoubleDeployDifferentBytecodeReverts() (gas: 96898738) -CREATE3Test:testDoubleDeployDifferentBytecodeReverts(bytes32,bytes,bytes) (runs: 314, μ: 96880302, ~: 96880242) +CREATE3Test:testDoubleDeployDifferentBytecodeReverts(bytes32,bytes,bytes) (runs: 314, μ: 96880303, ~: 96880242) CREATE3Test:testDoubleDeploySameBytecodeReverts() (gas: 96889196) -CREATE3Test:testDoubleDeploySameBytecodeReverts(bytes32,bytes) (runs: 314, μ: 96881053, ~: 96880998) -CREATE3Test:test__codesize() (gas: 13862) +CREATE3Test:testDoubleDeploySameBytecodeReverts(bytes32,bytes) (runs: 314, μ: 96881051, ~: 96880998) +CREATE3Test:test__codesize() (gas: 13856) DateTimeLibTest:testAddSubDiffDays(uint256,uint256) (runs: 314, μ: 4204, ~: 4209) DateTimeLibTest:testAddSubDiffHours(uint256,uint256) (runs: 314, μ: 4146, ~: 4155) DateTimeLibTest:testAddSubDiffMinutes(uint256,uint256) (runs: 314, μ: 4141, ~: 4129) @@ -65,50 +65,50 @@ DateTimeLibTest:testIsWeekEnd(uint256) (runs: 314, μ: 693, ~: 617) DateTimeLibTest:testMondayTimestamp() (gas: 1106) DateTimeLibTest:testMondayTimestamp(uint256) (runs: 314, μ: 768, ~: 836) DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp() (gas: 12053) -DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp(uint256,uint256,uint256,uint256) (runs: 314, μ: 3529, ~: 3576) +DateTimeLibTest:testNthWeekdayInMonthOfYearTimestamp(uint256,uint256,uint256,uint256) (runs: 314, μ: 3524, ~: 3576) DateTimeLibTest:testWeekday() (gas: 682) DateTimeLibTest:test__codesize() (gas: 19163) -DelegateCheckerLibTest:testCheckDelegateForAll() (gas: 36319) -DelegateCheckerLibTest:testCheckDelegateForAll(address,address,bytes32) (runs: 314, μ: 231168, ~: 244674) -DelegateCheckerLibTest:testCheckDelegateForContract() (gas: 55887) -DelegateCheckerLibTest:testCheckDelegateForContract(address,address,address,bytes32) (runs: 314, μ: 358469, ~: 311985) -DelegateCheckerLibTest:testCheckDelegateForERC1155() (gas: 64282) -DelegateCheckerLibTest:testCheckDelegateForERC1155(address,address,address,uint256,bytes32) (runs: 314, μ: 304765, ~: 305427) -DelegateCheckerLibTest:testCheckDelegateForERC20() (gas: 63763) -DelegateCheckerLibTest:testCheckDelegateForERC20(address,address,address,bytes32) (runs: 314, μ: 304781, ~: 282769) -DelegateCheckerLibTest:testCheckDelegateForERC721() (gas: 71988) -DelegateCheckerLibTest:testCheckDelegateForERC721(address,address,address,uint256,bytes32) (runs: 314, μ: 431654, ~: 401808) -DelegateCheckerLibTest:test__codesize() (gas: 32210) -DeploylessPredeployQueryerTest:testPredeployQueryer(bytes32) (runs: 314, μ: 266290, ~: 237643) -DeploylessPredeployQueryerTest:testTargetGenerate() (gas: 366327) +DelegateCheckerLibTest:testCheckDelegateForAll() (gas: 36027) +DelegateCheckerLibTest:testCheckDelegateForAll(address,address,bytes32) (runs: 314, μ: 230610, ~: 243123) +DelegateCheckerLibTest:testCheckDelegateForContract() (gas: 55142) +DelegateCheckerLibTest:testCheckDelegateForContract(address,address,address,bytes32) (runs: 314, μ: 356779, ~: 308790) +DelegateCheckerLibTest:testCheckDelegateForERC1155() (gas: 63416) +DelegateCheckerLibTest:testCheckDelegateForERC1155(address,address,address,uint256,bytes32) (runs: 314, μ: 303511, ~: 304247) +DelegateCheckerLibTest:testCheckDelegateForERC20() (gas: 62877) +DelegateCheckerLibTest:testCheckDelegateForERC20(address,address,address,bytes32) (runs: 314, μ: 302594, ~: 281201) +DelegateCheckerLibTest:testCheckDelegateForERC721() (gas: 71112) +DelegateCheckerLibTest:testCheckDelegateForERC721(address,address,address,uint256,bytes32) (runs: 314, μ: 428921, ~: 396342) +DelegateCheckerLibTest:test__codesize() (gas: 32250) +DeploylessPredeployQueryerTest:testPredeployQueryer(bytes32) (runs: 314, μ: 266141, ~: 237643) +DeploylessPredeployQueryerTest:testTargetGenerate() (gas: 369184) DeploylessPredeployQueryerTest:test__codesize() (gas: 8284) -DynamicBufferLibTest:testClear(uint256) (runs: 314, μ: 34648, ~: 34756) -DynamicBufferLibTest:testDynamicBuffer(bytes[],uint256) (runs: 314, μ: 862427, ~: 789133) -DynamicBufferLibTest:testDynamicBuffer(uint256) (runs: 314, μ: 826820, ~: 677542) +DynamicBufferLibTest:testClear(uint256) (runs: 314, μ: 34643, ~: 34733) +DynamicBufferLibTest:testDynamicBuffer(bytes[],uint256) (runs: 314, μ: 880727, ~: 793141) +DynamicBufferLibTest:testDynamicBuffer(uint256) (runs: 314, μ: 807173, ~: 678744) DynamicBufferLibTest:testDynamicBufferChaining() (gas: 12661) -DynamicBufferLibTest:testDynamicBufferPushSingles(uint256,uint256,uint256) (runs: 314, μ: 211203, ~: 34251) +DynamicBufferLibTest:testDynamicBufferPushSingles(uint256,uint256,uint256) (runs: 314, μ: 243433, ~: 36368) DynamicBufferLibTest:testDynamicBufferPushSinglesReinterpretCast() (gas: 21959) DynamicBufferLibTest:testDynamicBufferReserveFromEmpty() (gas: 2754) DynamicBufferLibTest:testDynamicBufferReserveFromEmpty2() (gas: 2463) -DynamicBufferLibTest:testDynamicBufferReserveFromEmpty3(bytes,uint256) (runs: 314, μ: 2883, ~: 2099) +DynamicBufferLibTest:testDynamicBufferReserveFromEmpty3(bytes,uint256) (runs: 314, μ: 2870, ~: 2099) DynamicBufferLibTest:testJoinWithConcat() (gas: 31429) DynamicBufferLibTest:testJoinWithDynamicBuffer() (gas: 10830) -DynamicBufferLibTest:test__codesize() (gas: 12735) +DynamicBufferLibTest:test__codesize() (gas: 12745) ECDSATest:testBytes32ToEthSignedMessageHash() (gas: 425) -ECDSATest:testBytesToEthSignedMessageHash() (gas: 11582453) +ECDSATest:testBytesToEthSignedMessageHash() (gas: 11581931) ECDSATest:testBytesToEthSignedMessageHashEmpty() (gas: 556) -ECDSATest:testBytesToEthSignedMessageHashExceedsMaxLengthReverts() (gas: 615885) +ECDSATest:testBytesToEthSignedMessageHashExceedsMaxLengthReverts() (gas: 616748) ECDSATest:testBytesToEthSignedMessageHashLong() (gas: 725) ECDSATest:testBytesToEthSignedMessageHashShort() (gas: 576) -ECDSATest:testCanonicalHash(bytes32) (runs: 314, μ: 138008, ~: 39025) -ECDSATest:testCanonicalHashCalldataWith64bytesSignature() (gas: 1232939) -ECDSATest:testCanonicalHashCalldataWithRegularSignature() (gas: 1232433) -ECDSATest:testCanonicalHashWith64bytesSignature() (gas: 614272) -ECDSATest:testCanonicalHashWithRegularSignature() (gas: 612711) +ECDSATest:testCanonicalHash(bytes32) (runs: 314, μ: 130887, ~: 39110) +ECDSATest:testCanonicalHashCalldataWith64bytesSignature() (gas: 1233837) +ECDSATest:testCanonicalHashCalldataWithRegularSignature() (gas: 1233419) +ECDSATest:testCanonicalHashWith64bytesSignature() (gas: 614016) +ECDSATest:testCanonicalHashWithRegularSignature() (gas: 613574) ECDSATest:testEmptyCalldataHelpers() (gas: 3268) ECDSATest:testMalleabilityTrick() (gas: 2564) ECDSATest:testMalleabilityTrick(uint256) (runs: 314, μ: 450, ~: 449) -ECDSATest:testRecoverAndTryRecover(bytes32) (runs: 314, μ: 2944595, ~: 2534914) +ECDSATest:testRecoverAndTryRecover(bytes32) (runs: 314, μ: 2930961, ~: 2535645) ECDSATest:testRecoverWithInvalidLongSignatureReverts() (gas: 7395) ECDSATest:testRecoverWithInvalidShortSignatureReturnsZero() (gas: 7231) ECDSATest:testRecoverWithInvalidSignatureReverts() (gas: 8018) @@ -139,7 +139,7 @@ ECDSATest:testTryRecoverWithV1SignatureWithVersion28() (gas: 8829) ECDSATest:testTryRecoverWithV1SignatureWithWrongVersionReturnsZero() (gas: 8872) ECDSATest:testTryRecoverWithValidSignature() (gas: 8899) ECDSATest:testTryRecoverWithWrongSigner() (gas: 8890) -ECDSATest:test__codesize() (gas: 18231) +ECDSATest:test__codesize() (gas: 18235) EIP712Test:testDomainSeparator() (gas: 6048) EIP712Test:testDomainSeparatorOnClone() (gas: 8842) EIP712Test:testDomainSeparatorOnCloneDynamicWithChainIdChange() (gas: 69580) @@ -156,55 +156,55 @@ EIP712Test:testHashTypedDataOnDynamic() (gas: 44610) EIP712Test:testHashTypedDataOnDynamicWithChaindIdChange() (gas: 56340) EIP712Test:testHashTypedDataWithChaindIdChange() (gas: 45554) EIP712Test:test__codesize() (gas: 11394) -ERC1155HooksTest:testERC1155Hooks() (gas: 4455672) -ERC1155HooksTest:test__codesize() (gas: 11723) -ERC1155Test:testApproveAll(address,bool) (runs: 314, μ: 49345, ~: 58445) +ERC1155HooksTest:testERC1155Hooks() (gas: 4396188) +ERC1155HooksTest:test__codesize() (gas: 11717) +ERC1155Test:testApproveAll(address,bool) (runs: 314, μ: 49255, ~: 58445) ERC1155Test:testAuthorizedEquivalence(address,address,bool) (runs: 314, μ: 715, ~: 715) -ERC1155Test:testBalanceOfBatchWithArrayMismatchReverts(uint256) (runs: 314, μ: 31855, ~: 34841) -ERC1155Test:testBatchBalanceOf(uint256) (runs: 314, μ: 153758, ~: 151160) -ERC1155Test:testBatchBurn(uint256) (runs: 314, μ: 198172, ~: 173780) -ERC1155Test:testBatchBurnInsufficientBalanceReverts(uint256) (runs: 314, μ: 201206, ~: 188163) -ERC1155Test:testBatchBurnWithArrayLengthMismatchReverts(uint256) (runs: 314, μ: 54589, ~: 54518) -ERC1155Test:testBatchMintToEOA(uint256) (runs: 314, μ: 159976, ~: 151464) -ERC1155Test:testBatchMintToERC1155Recipient(uint256) (runs: 314, μ: 1204967, ~: 752341) -ERC1155Test:testBatchMintToNonERC1155RecipientReverts(uint256) (runs: 314, μ: 187514, ~: 186189) -ERC1155Test:testBatchMintToRevertingERC1155RecipientReverts(uint256) (runs: 314, μ: 371677, ~: 367489) -ERC1155Test:testBatchMintToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 314, μ: 319894, ~: 286253) -ERC1155Test:testBatchMintToZeroReverts(uint256) (runs: 314, μ: 99973, ~: 90570) -ERC1155Test:testBatchMintWithArrayMismatchReverts(uint256) (runs: 314, μ: 46348, ~: 35943) -ERC1155Test:testBurn(uint256) (runs: 314, μ: 117422, ~: 102504) -ERC1155Test:testBurnInsufficientBalanceReverts(uint256) (runs: 314, μ: 128092, ~: 107534) -ERC1155Test:testDirectSetApprovalForAll(address,address,bool) (runs: 314, μ: 25625, ~: 16060) -ERC1155Test:testMintToEOA(uint256) (runs: 314, μ: 95894, ~: 80986) -ERC1155Test:testMintToERC1155Recipient(uint256) (runs: 314, μ: 1428970, ~: 661493) -ERC1155Test:testMintToNonERC155RecipientReverts(uint256) (runs: 314, μ: 118878, ~: 103753) -ERC1155Test:testMintToRevertingERC155RecipientReverts(uint256) (runs: 314, μ: 296702, ~: 284224) -ERC1155Test:testMintToWrongReturnDataERC155RecipientReverts(uint256) (runs: 314, μ: 258716, ~: 238888) -ERC1155Test:testMintToZeroReverts(uint256) (runs: 314, μ: 57231, ~: 33606) -ERC1155Test:testSafeBatchTransfer() (gas: 8304444) -ERC1155Test:testSafeBatchTransferFromToEOA(uint256) (runs: 314, μ: 264221, ~: 263008) -ERC1155Test:testSafeBatchTransferFromToERC1155Recipient(uint256) (runs: 314, μ: 2704536, ~: 987881) -ERC1155Test:testSafeBatchTransferFromToNonERC1155RecipientReverts(uint256) (runs: 314, μ: 270933, ~: 269603) -ERC1155Test:testSafeBatchTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 314, μ: 454586, ~: 450218) -ERC1155Test:testSafeBatchTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 314, μ: 411710, ~: 405379) -ERC1155Test:testSafeBatchTransferFromToZeroReverts(uint256) (runs: 314, μ: 189921, ~: 175034) -ERC1155Test:testSafeBatchTransferFromWithArrayLengthMismatchReverts(uint256) (runs: 314, μ: 76863, ~: 68046) -ERC1155Test:testSafeBatchTransferInsufficientBalanceReverts(uint256) (runs: 314, μ: 220685, ~: 192015) -ERC1155Test:testSafeTransferFromInsufficientBalanceReverts(uint256) (runs: 314, μ: 138058, ~: 110320) -ERC1155Test:testSafeTransferFromSelf(uint256) (runs: 314, μ: 148902, ~: 118060) -ERC1155Test:testSafeTransferFromSelfInsufficientBalanceReverts(uint256) (runs: 314, μ: 121851, ~: 81843) -ERC1155Test:testSafeTransferFromToEOA(uint256) (runs: 314, μ: 164586, ~: 133365) -ERC1155Test:testSafeTransferFromToERC1155Recipient(uint256) (runs: 314, μ: 1736979, ~: 742959) -ERC1155Test:testSafeTransferFromToNonERC155RecipientReverts(uint256) (runs: 314, μ: 180442, ~: 151738) -ERC1155Test:testSafeTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 314, μ: 360743, ~: 332844) -ERC1155Test:testSafeTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 314, μ: 318711, ~: 288002) -ERC1155Test:testSafeTransferFromToZeroReverts(uint256) (runs: 314, μ: 113915, ~: 81872) -ERC1155Test:test__codesize() (gas: 41876) +ERC1155Test:testBalanceOfBatchWithArrayMismatchReverts(uint256) (runs: 314, μ: 31926, ~: 34841) +ERC1155Test:testBatchBalanceOf(uint256) (runs: 314, μ: 147716, ~: 150818) +ERC1155Test:testBatchBurn(uint256) (runs: 314, μ: 187576, ~: 172942) +ERC1155Test:testBatchBurnInsufficientBalanceReverts(uint256) (runs: 314, μ: 202816, ~: 190324) +ERC1155Test:testBatchBurnWithArrayLengthMismatchReverts(uint256) (runs: 314, μ: 55605, ~: 54464) +ERC1155Test:testBatchMintToEOA(uint256) (runs: 314, μ: 152712, ~: 151096) +ERC1155Test:testBatchMintToERC1155Recipient(uint256) (runs: 314, μ: 1432397, ~: 770420) +ERC1155Test:testBatchMintToNonERC1155RecipientReverts(uint256) (runs: 314, μ: 184115, ~: 185976) +ERC1155Test:testBatchMintToRevertingERC1155RecipientReverts(uint256) (runs: 314, μ: 372112, ~: 367137) +ERC1155Test:testBatchMintToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 314, μ: 322932, ~: 292721) +ERC1155Test:testBatchMintToZeroReverts(uint256) (runs: 314, μ: 96390, ~: 90750) +ERC1155Test:testBatchMintWithArrayMismatchReverts(uint256) (runs: 314, μ: 42057, ~: 35726) +ERC1155Test:testBurn(uint256) (runs: 314, μ: 116716, ~: 100373) +ERC1155Test:testBurnInsufficientBalanceReverts(uint256) (runs: 314, μ: 118800, ~: 105557) +ERC1155Test:testDirectSetApprovalForAll(address,address,bool) (runs: 314, μ: 25432, ~: 15866) +ERC1155Test:testMintToEOA(uint256) (runs: 314, μ: 91450, ~: 80831) +ERC1155Test:testMintToERC1155Recipient(uint256) (runs: 314, μ: 1380453, ~: 660969) +ERC1155Test:testMintToNonERC155RecipientReverts(uint256) (runs: 314, μ: 116442, ~: 103625) +ERC1155Test:testMintToRevertingERC155RecipientReverts(uint256) (runs: 314, μ: 298091, ~: 284054) +ERC1155Test:testMintToWrongReturnDataERC155RecipientReverts(uint256) (runs: 314, μ: 258566, ~: 238743) +ERC1155Test:testMintToZeroReverts(uint256) (runs: 314, μ: 51019, ~: 33494) +ERC1155Test:testSafeBatchTransfer() (gas: 8293491) +ERC1155Test:testSafeBatchTransferFromToEOA(uint256) (runs: 314, μ: 254608, ~: 222536) +ERC1155Test:testSafeBatchTransferFromToERC1155Recipient(uint256) (runs: 314, μ: 2514656, ~: 978026) +ERC1155Test:testSafeBatchTransferFromToNonERC1155RecipientReverts(uint256) (runs: 314, μ: 261267, ~: 268743) +ERC1155Test:testSafeBatchTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 314, μ: 452008, ~: 450878) +ERC1155Test:testSafeBatchTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 314, μ: 415498, ~: 406245) +ERC1155Test:testSafeBatchTransferFromToZeroReverts(uint256) (runs: 314, μ: 190539, ~: 174750) +ERC1155Test:testSafeBatchTransferFromWithArrayLengthMismatchReverts(uint256) (runs: 314, μ: 71709, ~: 67221) +ERC1155Test:testSafeBatchTransferInsufficientBalanceReverts(uint256) (runs: 314, μ: 214790, ~: 193531) +ERC1155Test:testSafeTransferFromInsufficientBalanceReverts(uint256) (runs: 314, μ: 129164, ~: 108735) +ERC1155Test:testSafeTransferFromSelf(uint256) (runs: 314, μ: 147535, ~: 117480) +ERC1155Test:testSafeTransferFromSelfInsufficientBalanceReverts(uint256) (runs: 314, μ: 114163, ~: 81413) +ERC1155Test:testSafeTransferFromToEOA(uint256) (runs: 314, μ: 148951, ~: 133440) +ERC1155Test:testSafeTransferFromToERC1155Recipient(uint256) (runs: 314, μ: 1678948, ~: 741264) +ERC1155Test:testSafeTransferFromToNonERC155RecipientReverts(uint256) (runs: 314, μ: 175205, ~: 151291) +ERC1155Test:testSafeTransferFromToRevertingERC1155RecipientReverts(uint256) (runs: 314, μ: 357140, ~: 332234) +ERC1155Test:testSafeTransferFromToWrongReturnDataERC1155RecipientReverts(uint256) (runs: 314, μ: 321992, ~: 287698) +ERC1155Test:testSafeTransferFromToZeroReverts(uint256) (runs: 314, μ: 109479, ~: 81370) +ERC1155Test:test__codesize() (gas: 41870) ERC1271Test:testBasefeeBytecodeContract() (gas: 45430) -ERC1271Test:testIsValidSignature() (gas: 2390984) -ERC1271Test:testIsValidSignature(uint256) (runs: 314, μ: 248834, ~: 210746) -ERC1271Test:testSupportsNestedTypedDataSign() (gas: 165249) -ERC1271Test:test__codesize() (gas: 29885) +ERC1271Test:testIsValidSignature() (gas: 2383174) +ERC1271Test:testIsValidSignature(uint256) (runs: 314, μ: 246188, ~: 210482) +ERC1271Test:testSupportsNestedTypedDataSign() (gas: 165146) +ERC1271Test:test__codesize() (gas: 29879) ERC1967FactoryTest:testChangeAdmin() (gas: 266261) ERC1967FactoryTest:testChangeAdminUnauthorized() (gas: 257261) ERC1967FactoryTest:testDeploy() (gas: 257129) @@ -221,209 +221,209 @@ ERC1967FactoryTest:testUpgradeAndCallWithRevert() (gas: 265384) ERC1967FactoryTest:testUpgradeUnauthorized() (gas: 270073) ERC1967FactoryTest:testUpgradeWithCorruptedProxy() (gas: 263056) ERC1967FactoryTest:test__codesize() (gas: 32273) -ERC20Invariants:invariantBalanceSum() (runs: 10, calls: 150, reverts: 83) -ERC20Invariants:test__codesize() (gas: 7280) +ERC20Invariants:invariantBalanceSum() (runs: 10, calls: 150, reverts: 90) +ERC20Invariants:test__codesize() (gas: 7274) ERC20Test:testApprove() (gas: 35730) ERC20Test:testApprove(address,uint256) (runs: 314, μ: 31054, ~: 31181) -ERC20Test:testBurn() (gas: 62424) -ERC20Test:testBurn(address,uint256,uint256) (runs: 314, μ: 62467, ~: 63044) -ERC20Test:testBurnInsufficientBalanceReverts(address,uint256,uint256) (runs: 314, μ: 56593, ~: 56959) -ERC20Test:testDirectSpendAllowance(uint256) (runs: 314, μ: 61797, ~: 61563) -ERC20Test:testDirectTransfer(uint256) (runs: 314, μ: 99721, ~: 112559) -ERC20Test:testInfiniteApproveTransferFrom() (gas: 90855) +ERC20Test:testBurn() (gas: 62218) +ERC20Test:testBurn(address,uint256,uint256) (runs: 314, μ: 62262, ~: 62833) +ERC20Test:testBurnInsufficientBalanceReverts(address,uint256,uint256) (runs: 314, μ: 56383, ~: 56748) +ERC20Test:testDirectSpendAllowance(uint256) (runs: 314, μ: 61594, ~: 61390) +ERC20Test:testDirectTransfer(uint256) (runs: 314, μ: 100033, ~: 112241) +ERC20Test:testInfiniteApproveTransferFrom() (gas: 90548) ERC20Test:testMetadata() (gas: 16516) -ERC20Test:testMint() (gas: 58888) -ERC20Test:testMint(address,uint256) (runs: 314, μ: 58878, ~: 59131) -ERC20Test:testMintOverMaxUintReverts() (gas: 56350) +ERC20Test:testMint() (gas: 58785) +ERC20Test:testMint(address,uint256) (runs: 314, μ: 58774, ~: 59028) +ERC20Test:testMintOverMaxUintReverts() (gas: 56139) ERC20Test:testPermit() (gas: 89369) -ERC20Test:testPermit(uint256) (runs: 314, μ: 89461, ~: 89461) -ERC20Test:testPermitBadDeadlineReverts(uint256) (runs: 314, μ: 41222, ~: 41221) -ERC20Test:testPermitBadNonceReverts(uint256) (runs: 314, μ: 41647, ~: 41595) -ERC20Test:testPermitPastDeadlineReverts(uint256) (runs: 314, μ: 35758, ~: 35752) -ERC20Test:testPermitReplayReverts(uint256) (runs: 314, μ: 92171, ~: 92166) -ERC20Test:testTransfer() (gas: 65884) -ERC20Test:testTransfer(address,uint256) (runs: 314, μ: 65847, ~: 66100) -ERC20Test:testTransferFrom() (gas: 86323) -ERC20Test:testTransferFrom(address,address,address,uint256,uint256) (runs: 314, μ: 93180, ~: 95625) -ERC20Test:testTransferFromInsufficientAllowanceReverts() (gas: 82333) -ERC20Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256) (runs: 314, μ: 82677, ~: 82853) -ERC20Test:testTransferFromInsufficientBalanceReverts() (gas: 62681) -ERC20Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256) (runs: 314, μ: 63302, ~: 63331) -ERC20Test:testTransferInsufficientBalanceReverts() (gas: 56494) -ERC20Test:testTransferInsufficientBalanceReverts(address,uint256,uint256) (runs: 314, μ: 56652, ~: 57018) -ERC20Test:test__codesize() (gas: 22610) +ERC20Test:testPermit(uint256) (runs: 314, μ: 89469, ~: 89463) +ERC20Test:testPermitBadDeadlineReverts(uint256) (runs: 314, μ: 41226, ~: 41224) +ERC20Test:testPermitBadNonceReverts(uint256) (runs: 314, μ: 41647, ~: 41592) +ERC20Test:testPermitPastDeadlineReverts(uint256) (runs: 314, μ: 35752, ~: 35751) +ERC20Test:testPermitReplayReverts(uint256) (runs: 314, μ: 92170, ~: 92171) +ERC20Test:testTransfer() (gas: 65684) +ERC20Test:testTransfer(address,uint256) (runs: 314, μ: 65646, ~: 65900) +ERC20Test:testTransferFrom() (gas: 86077) +ERC20Test:testTransferFrom(address,address,address,uint256,uint256) (runs: 314, μ: 92918, ~: 95318) +ERC20Test:testTransferFromInsufficientAllowanceReverts() (gas: 82020) +ERC20Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256) (runs: 314, μ: 82361, ~: 82535) +ERC20Test:testTransferFromInsufficientBalanceReverts() (gas: 62368) +ERC20Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256) (runs: 314, μ: 62987, ~: 62970) +ERC20Test:testTransferInsufficientBalanceReverts() (gas: 56283) +ERC20Test:testTransferInsufficientBalanceReverts(address,uint256,uint256) (runs: 314, μ: 56442, ~: 56807) +ERC20Test:test__codesize() (gas: 22604) ERC2981Test:testRoyaltyOverflowCheckDifferential(uint256,uint256) (runs: 314, μ: 479, ~: 480) -ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 314, μ: 108768, ~: 105306) -ERC2981Test:test__codesize() (gas: 7229) +ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 314, μ: 107751, ~: 104808) +ERC2981Test:test__codesize() (gas: 7223) ERC4337FactoryTest:testCreateAccountRepeatedDeployment() (gas: 149753) -ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 314, μ: 171331, ~: 171295) -ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 314, μ: 131006, ~: 139611) -ERC4337FactoryTest:test__codesize() (gas: 13112) +ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 314, μ: 171336, ~: 171295) +ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 314, μ: 129730, ~: 139611) +ERC4337FactoryTest:test__codesize() (gas: 13106) ERC4337Test:testCdFallback() (gas: 438041) ERC4337Test:testCdFallback2() (gas: 1135303) ERC4337Test:testDelegateExecute() (gas: 366407) -ERC4337Test:testDelegateExecute(uint256) (runs: 314, μ: 355658, ~: 345250) +ERC4337Test:testDelegateExecute(uint256) (runs: 314, μ: 356313, ~: 345250) ERC4337Test:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 320067) -ERC4337Test:testDepositFunctions() (gas: 497221) +ERC4337Test:testDepositFunctions() (gas: 497118) ERC4337Test:testDirectStorage() (gas: 70503) -ERC4337Test:testDisableInitializerForImplementation() (gas: 1348481) +ERC4337Test:testDisableInitializerForImplementation() (gas: 1347274) ERC4337Test:testETHReceived() (gas: 16584) ERC4337Test:testExecute() (gas: 383460) ERC4337Test:testExecuteBatch() (gas: 694187) -ERC4337Test:testExecuteBatch(uint256) (runs: 314, μ: 545374, ~: 670564) +ERC4337Test:testExecuteBatch(uint256) (runs: 314, μ: 544985, ~: 670277) ERC4337Test:testInitializer() (gas: 285469) ERC4337Test:testIsValidSignature() (gas: 120476) -ERC4337Test:testIsValidSignaturePersonalSign(bytes32) (runs: 314, μ: 103745, ~: 103879) +ERC4337Test:testIsValidSignaturePersonalSign(bytes32) (runs: 314, μ: 103743, ~: 103879) ERC4337Test:testIsValidSignatureViaRPC() (gas: 96881551) ERC4337Test:testIsValidSignatureWrapped() (gas: 446377) -ERC4337Test:testOnERC1155BatchReceived() (gas: 1417204) -ERC4337Test:testOnERC1155Received() (gas: 1416839) -ERC4337Test:testOnERC721Received() (gas: 1387505) +ERC4337Test:testOnERC1155BatchReceived() (gas: 1415540) +ERC4337Test:testOnERC1155Received() (gas: 1415252) +ERC4337Test:testOnERC721Received() (gas: 1385802) ERC4337Test:testOwnerRecovery() (gas: 479697) ERC4337Test:testValidateUserOp() (gas: 484693) -ERC4337Test:test__codesize() (gas: 55808) -ERC4626Test:testDepositWithNoApprovalReverts() (gas: 16954) -ERC4626Test:testDepositWithNotEnoughApprovalReverts() (gas: 90752) -ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 314, μ: 3318, ~: 3107) +ERC4337Test:test__codesize() (gas: 55790) +ERC4626Test:testDepositWithNoApprovalReverts() (gas: 16744) +ERC4626Test:testDepositWithNotEnoughApprovalReverts() (gas: 90439) +ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 314, μ: 3321, ~: 3107) ERC4626Test:testMetadata() (gas: 14354) -ERC4626Test:testMintWithNoApprovalReverts() (gas: 16928) -ERC4626Test:testMintZero() (gas: 53930) -ERC4626Test:testMultipleMintDepositRedeemWithdraw() (gas: 412871) +ERC4626Test:testMintWithNoApprovalReverts() (gas: 16718) +ERC4626Test:testMintZero() (gas: 53726) +ERC4626Test:testMultipleMintDepositRedeemWithdraw() (gas: 411570) ERC4626Test:testRedeemWithNoShareAmountReverts() (gas: 10918) -ERC4626Test:testRedeemWithNotEnoughShareAmountReverts() (gas: 143777) -ERC4626Test:testSingleDepositWithdraw(uint128) (runs: 314, μ: 202556, ~: 202560) -ERC4626Test:testSingleMintRedeem(uint128) (runs: 314, μ: 201522, ~: 201525) -ERC4626Test:testTryGetAssetDecimals() (gas: 30700474) +ERC4626Test:testRedeemWithNotEnoughShareAmountReverts() (gas: 143470) +ERC4626Test:testSingleDepositWithdraw(uint128) (runs: 314, μ: 202231, ~: 202236) +ERC4626Test:testSingleMintRedeem(uint128) (runs: 314, μ: 201197, ~: 201202) +ERC4626Test:testTryGetAssetDecimals() (gas: 30681226) ERC4626Test:testUseVirtualShares() (gas: 2428448) -ERC4626Test:testVaultInteractionsForSomeoneElse() (gas: 297836) -ERC4626Test:testVirtualSharesMultipleMintDepositRedeemWithdraw() (gas: 1615091) +ERC4626Test:testVaultInteractionsForSomeoneElse() (gas: 297189) +ERC4626Test:testVirtualSharesMultipleMintDepositRedeemWithdraw() (gas: 1613470) ERC4626Test:testWithdrawWithNoUnderlyingAmountReverts() (gas: 13102) -ERC4626Test:testWithdrawWithNotEnoughUnderlyingAmountReverts() (gas: 144910) -ERC4626Test:testWithdrawZero() (gas: 52056) -ERC4626Test:test__codesize() (gas: 36907) +ERC4626Test:testWithdrawWithNotEnoughUnderlyingAmountReverts() (gas: 144603) +ERC4626Test:testWithdrawZero() (gas: 51959) +ERC4626Test:test__codesize() (gas: 36901) ERC6551Test:testBaseFeeMini() (gas: 39514) -ERC6551Test:testCdFallback() (gas: 895614) -ERC6551Test:testDeployERC6551(uint256) (runs: 314, μ: 169987, ~: 168568) +ERC6551Test:testCdFallback() (gas: 895507) +ERC6551Test:testDeployERC6551(uint256) (runs: 314, μ: 170274, ~: 168466) ERC6551Test:testDeployERC6551Proxy() (gas: 80395) -ERC6551Test:testExecute() (gas: 507328) -ERC6551Test:testExecuteBatch() (gas: 817415) -ERC6551Test:testExecuteBatch(uint256) (runs: 314, μ: 644054, ~: 762178) -ERC6551Test:testInitializeERC6551ProxyImplementation() (gas: 189976) -ERC6551Test:testIsValidSigner(address) (runs: 314, μ: 167335, ~: 167323) -ERC6551Test:testOnERC1155BatchReceived() (gas: 1552566) -ERC6551Test:testOnERC1155Received() (gas: 1549762) -ERC6551Test:testOnERC721Received() (gas: 1523963) -ERC6551Test:testOnERC721ReceivedCycles() (gas: 2975498) -ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 314, μ: 452624, ~: 457650) -ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 314, μ: 1386677, ~: 1386687) -ERC6551Test:testSupportsInterface() (gas: 168994) -ERC6551Test:testUpdateState(uint256) (runs: 314, μ: 234735, ~: 234661) -ERC6551Test:testUpgrade() (gas: 248410) -ERC6551Test:test__codesize() (gas: 50858) -ERC6909Test:testApprove() (gas: 37066) -ERC6909Test:testApprove(address,uint256,uint256) (runs: 314, μ: 37581, ~: 37708) -ERC6909Test:testBurn() (gas: 41275) -ERC6909Test:testBurn(address,uint256,uint256,uint256) (runs: 314, μ: 41097, ~: 41786) -ERC6909Test:testBurnInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 314, μ: 35451, ~: 35627) +ERC6551Test:testExecute() (gas: 507225) +ERC6551Test:testExecuteBatch() (gas: 817312) +ERC6551Test:testExecuteBatch(uint256) (runs: 314, μ: 665469, ~: 768784) +ERC6551Test:testInitializeERC6551ProxyImplementation() (gas: 189869) +ERC6551Test:testIsValidSigner(address) (runs: 314, μ: 167230, ~: 167217) +ERC6551Test:testOnERC1155BatchReceived() (gas: 1550805) +ERC6551Test:testOnERC1155Received() (gas: 1548072) +ERC6551Test:testOnERC721Received() (gas: 1522161) +ERC6551Test:testOnERC721ReceivedCycles() (gas: 2942638) +ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 314, μ: 451244, ~: 456183) +ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 314, μ: 1386575, ~: 1386584) +ERC6551Test:testSupportsInterface() (gas: 168891) +ERC6551Test:testUpdateState(uint256) (runs: 314, μ: 234621, ~: 234558) +ERC6551Test:testUpgrade() (gas: 248307) +ERC6551Test:test__codesize() (gas: 50846) +ERC6909Test:testApprove() (gas: 36957) +ERC6909Test:testApprove(address,uint256,uint256) (runs: 314, μ: 37472, ~: 37599) +ERC6909Test:testBurn() (gas: 41045) +ERC6909Test:testBurn(address,uint256,uint256,uint256) (runs: 314, μ: 40874, ~: 41556) +ERC6909Test:testBurnInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 314, μ: 35221, ~: 35341) ERC6909Test:testDecimals() (gas: 5676) ERC6909Test:testDirectApprove() (gas: 36737) -ERC6909Test:testDirectFunctions(uint256) (runs: 314, μ: 200033, ~: 202153) +ERC6909Test:testDirectFunctions(uint256) (runs: 314, μ: 200118, ~: 201282) ERC6909Test:testDirectSetOperator() (gas: 35937) -ERC6909Test:testDirectTransfer() (gas: 67044) -ERC6909Test:testInfiniteApproveTransferFrom() (gas: 79389) +ERC6909Test:testDirectTransfer() (gas: 66565) +ERC6909Test:testInfiniteApproveTransferFrom() (gas: 78930) ERC6909Test:testMetadata(uint256) (runs: 314, μ: 8257, ~: 8257) -ERC6909Test:testMint() (gas: 37240) -ERC6909Test:testMint(address,uint256,uint256) (runs: 314, μ: 37344, ~: 37471) -ERC6909Test:testMintOverMaxUintReverts() (gas: 35009) -ERC6909Test:testMintOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 314, μ: 35915, ~: 35928) -ERC6909Test:testOperatorTransferFrom() (gas: 74717) -ERC6909Test:testSetOperator() (gas: 37321) +ERC6909Test:testMint() (gas: 37120) +ERC6909Test:testMint(address,uint256,uint256) (runs: 314, μ: 37229, ~: 37356) +ERC6909Test:testMintOverMaxUintReverts() (gas: 34774) +ERC6909Test:testMintOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 314, μ: 35684, ~: 35698) +ERC6909Test:testOperatorTransferFrom() (gas: 74367) +ERC6909Test:testSetOperator() (gas: 37224) ERC6909Test:testSetOperator(address,address,bool) (runs: 314, μ: 26336, ~: 16767) -ERC6909Test:testTokenURI() (gas: 32876) -ERC6909Test:testTransfer() (gas: 48585) -ERC6909Test:testTransfer(address,uint256,uint256) (runs: 314, μ: 47575, ~: 47706) -ERC6909Test:testTransferFrom() (gas: 75316) -ERC6909Test:testTransferFrom(address,address,address,uint256,uint256,uint256) (runs: 314, μ: 80690, ~: 81977) -ERC6909Test:testTransferFromCallerIsNotOperator(address,uint256,uint256) (runs: 314, μ: 40214, ~: 40212) -ERC6909Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256,uint256) (runs: 314, μ: 68010, ~: 68581) -ERC6909Test:testTransferFromInsufficientBalanceReverts() (gas: 50505) -ERC6909Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 314, μ: 51123, ~: 50733) -ERC6909Test:testTransferFromInsufficientPermission() (gas: 68051) -ERC6909Test:testTransferFromOverMaxUintReverts() (gas: 91617) -ERC6909Test:testTransferFromOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 314, μ: 114679, ~: 114872) -ERC6909Test:testTransferInsufficientBalanceReverts() (gas: 35133) -ERC6909Test:testTransferInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 314, μ: 35299, ~: 35675) -ERC6909Test:testTransferOverMaxUintReverts() (gas: 64388) -ERC6909Test:testTransferOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 314, μ: 64941, ~: 64930) -ERC6909Test:test__codesize() (gas: 25622) -ERC721HooksTest:testERC721Hooks() (gas: 3012871) -ERC721HooksTest:test__codesize() (gas: 9998) -ERC721Test:testApprove(uint256) (runs: 314, μ: 108320, ~: 108048) -ERC721Test:testApproveAll(uint256) (runs: 314, μ: 50336, ~: 59870) -ERC721Test:testApproveBurn(uint256) (runs: 314, μ: 86728, ~: 86515) -ERC721Test:testApproveNonExistentReverts(uint256,address) (runs: 314, μ: 33662, ~: 33658) -ERC721Test:testApproveUnauthorizedReverts(uint256) (runs: 314, μ: 83442, ~: 83668) +ERC6909Test:testTokenURI() (gas: 32756) +ERC6909Test:testTransfer() (gas: 48398) +ERC6909Test:testTransfer(address,uint256,uint256) (runs: 314, μ: 47395, ~: 47526) +ERC6909Test:testTransferFrom() (gas: 74948) +ERC6909Test:testTransferFrom(address,address,address,uint256,uint256,uint256) (runs: 314, μ: 80249, ~: 81513) +ERC6909Test:testTransferFromCallerIsNotOperator(address,uint256,uint256) (runs: 314, μ: 39862, ~: 39861) +ERC6909Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256,uint256) (runs: 314, μ: 67547, ~: 68116) +ERC6909Test:testTransferFromInsufficientBalanceReverts() (gas: 50133) +ERC6909Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 314, μ: 50749, ~: 50367) +ERC6909Test:testTransferFromInsufficientPermission() (gas: 67586) +ERC6909Test:testTransferFromOverMaxUintReverts() (gas: 90969) +ERC6909Test:testTransferFromOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 314, μ: 113945, ~: 114137) +ERC6909Test:testTransferInsufficientBalanceReverts() (gas: 34898) +ERC6909Test:testTransferInsufficientBalanceReverts(address,uint256,uint256,uint256) (runs: 314, μ: 35065, ~: 35440) +ERC6909Test:testTransferOverMaxUintReverts() (gas: 64020) +ERC6909Test:testTransferOverMaxUintReverts(address,uint256,uint256,uint256) (runs: 314, μ: 64576, ~: 64564) +ERC6909Test:test__codesize() (gas: 25616) +ERC721HooksTest:testERC721Hooks() (gas: 2988769) +ERC721HooksTest:test__codesize() (gas: 9992) +ERC721Test:testApprove(uint256) (runs: 314, μ: 108086, ~: 107842) +ERC721Test:testApproveAll(uint256) (runs: 314, μ: 49926, ~: 40205) +ERC721Test:testApproveBurn(uint256) (runs: 314, μ: 86538, ~: 86351) +ERC721Test:testApproveNonExistentReverts(uint256,address) (runs: 314, μ: 33559, ~: 33559) +ERC721Test:testApproveUnauthorizedReverts(uint256) (runs: 314, μ: 83225, ~: 82612) ERC721Test:testAuthorizedEquivalence(address,bool,bool) (runs: 314, μ: 684, ~: 678) -ERC721Test:testAux(uint256) (runs: 314, μ: 194508, ~: 193020) -ERC721Test:testBurn(uint256) (runs: 314, μ: 81519, ~: 69065) +ERC721Test:testAux(uint256) (runs: 314, μ: 193644, ~: 192399) +ERC721Test:testBurn(uint256) (runs: 314, μ: 81688, ~: 68993) ERC721Test:testBurnNonExistentReverts(uint256) (runs: 314, μ: 10805, ~: 10805) -ERC721Test:testCannotExceedMaxBalance() (gas: 172230) -ERC721Test:testDoubleBurnReverts(uint256) (runs: 314, μ: 63632, ~: 63642) -ERC721Test:testDoubleMintReverts(uint256) (runs: 314, μ: 79489, ~: 79501) -ERC721Test:testEverything(uint256) (runs: 314, μ: 295821, ~: 305096) -ERC721Test:testExtraData(uint256) (runs: 314, μ: 99342, ~: 99340) +ERC721Test:testCannotExceedMaxBalance() (gas: 171003) +ERC721Test:testDoubleBurnReverts(uint256) (runs: 314, μ: 63549, ~: 63560) +ERC721Test:testDoubleMintReverts(uint256) (runs: 314, μ: 79282, ~: 79295) +ERC721Test:testEverything(uint256) (runs: 314, μ: 285899, ~: 302683) +ERC721Test:testExtraData(uint256) (runs: 314, μ: 99046, ~: 98932) ERC721Test:testExtraData2(uint256,uint256) (runs: 314, μ: 53889, ~: 53889) -ERC721Test:testIsApprovedOrOwner(uint256) (runs: 314, μ: 137679, ~: 137711) -ERC721Test:testMint(uint256) (runs: 314, μ: 82802, ~: 82894) -ERC721Test:testMintAndSetExtraDataUnchecked(uint256) (runs: 314, μ: 84628, ~: 84716) -ERC721Test:testMintAndSetExtraDataUncheckedWithOverwrite(uint256,uint96) (runs: 314, μ: 84082, ~: 84075) -ERC721Test:testMintToZeroReverts(uint256) (runs: 314, μ: 40108, ~: 40107) +ERC721Test:testIsApprovedOrOwner(uint256) (runs: 314, μ: 136525, ~: 136588) +ERC721Test:testMint(uint256) (runs: 314, μ: 82701, ~: 82791) +ERC721Test:testMintAndSetExtraDataUnchecked(uint256) (runs: 314, μ: 84410, ~: 84501) +ERC721Test:testMintAndSetExtraDataUncheckedWithOverwrite(uint256,uint96) (runs: 314, μ: 83867, ~: 83860) +ERC721Test:testMintToZeroReverts(uint256) (runs: 314, μ: 39789, ~: 39789) ERC721Test:testOwnerOfNonExistent(uint256) (runs: 314, μ: 33174, ~: 33185) -ERC721Test:testSafeMintToEOA(uint256) (runs: 314, μ: 83311, ~: 83232) -ERC721Test:testSafeMintToERC721Recipient(uint256) (runs: 314, μ: 409566, ~: 409920) -ERC721Test:testSafeMintToERC721RecipientWithData(uint256,bytes) (runs: 314, μ: 459551, ~: 453884) -ERC721Test:testSafeMintToERC721RecipientWithWrongReturnData(uint256) (runs: 314, μ: 170595, ~: 170595) -ERC721Test:testSafeMintToERC721RecipientWithWrongReturnDataWithData(uint256,bytes) (runs: 314, μ: 171833, ~: 171784) -ERC721Test:testSafeMintToNonERC721RecipientReverts(uint256) (runs: 314, μ: 100695, ~: 100695) -ERC721Test:testSafeMintToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 314, μ: 101965, ~: 101916) -ERC721Test:testSafeMintToRevertingERC721RecipientReverts(uint256) (runs: 314, μ: 203531, ~: 203531) -ERC721Test:testSafeMintToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 314, μ: 204790, ~: 204741) -ERC721Test:testSafeTransferFromToEOA(uint256) (runs: 314, μ: 122714, ~: 122731) -ERC721Test:testSafeTransferFromToERC721Recipient(uint256) (runs: 314, μ: 472017, ~: 472462) -ERC721Test:testSafeTransferFromToERC721RecipientWithData(uint256,bytes) (runs: 314, μ: 522104, ~: 516372) -ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataReverts(uint256) (runs: 314, μ: 202274, ~: 202152) -ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataWithDataReverts(uint256,bytes) (runs: 314, μ: 203701, ~: 203806) -ERC721Test:testSafeTransferFromToNonERC721RecipientReverts(uint256) (runs: 314, μ: 132388, ~: 132511) -ERC721Test:testSafeTransferFromToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 314, μ: 133803, ~: 133895) -ERC721Test:testSafeTransferFromToRevertingERC721RecipientReverts(uint256) (runs: 314, μ: 235226, ~: 235106) -ERC721Test:testSafeTransferFromToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 314, μ: 236582, ~: 236585) +ERC721Test:testSafeMintToEOA(uint256) (runs: 314, μ: 83218, ~: 83301) +ERC721Test:testSafeMintToERC721Recipient(uint256) (runs: 314, μ: 409472, ~: 409825) +ERC721Test:testSafeMintToERC721RecipientWithData(uint256,bytes) (runs: 314, μ: 459420, ~: 453766) +ERC721Test:testSafeMintToERC721RecipientWithWrongReturnData(uint256) (runs: 314, μ: 170504, ~: 170504) +ERC721Test:testSafeMintToERC721RecipientWithWrongReturnDataWithData(uint256,bytes) (runs: 314, μ: 171709, ~: 171666) +ERC721Test:testSafeMintToNonERC721RecipientReverts(uint256) (runs: 314, μ: 100604, ~: 100604) +ERC721Test:testSafeMintToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 314, μ: 101841, ~: 101798) +ERC721Test:testSafeMintToRevertingERC721RecipientReverts(uint256) (runs: 314, μ: 203440, ~: 203440) +ERC721Test:testSafeMintToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 314, μ: 204666, ~: 204623) +ERC721Test:testSafeTransferFromToEOA(uint256) (runs: 314, μ: 122118, ~: 122157) +ERC721Test:testSafeTransferFromToERC721Recipient(uint256) (runs: 314, μ: 471422, ~: 471855) +ERC721Test:testSafeTransferFromToERC721RecipientWithData(uint256,bytes) (runs: 314, μ: 521414, ~: 515732) +ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataReverts(uint256) (runs: 314, μ: 201833, ~: 201913) +ERC721Test:testSafeTransferFromToERC721RecipientWithWrongReturnDataWithDataReverts(uint256,bytes) (runs: 314, μ: 203129, ~: 203161) +ERC721Test:testSafeTransferFromToNonERC721RecipientReverts(uint256) (runs: 314, μ: 131939, ~: 132016) +ERC721Test:testSafeTransferFromToNonERC721RecipientWithDataReverts(uint256,bytes) (runs: 314, μ: 133230, ~: 133284) +ERC721Test:testSafeTransferFromToRevertingERC721RecipientReverts(uint256) (runs: 314, μ: 234782, ~: 234703) +ERC721Test:testSafeTransferFromToRevertingERC721RecipientWithDataReverts(uint256,bytes) (runs: 314, μ: 236019, ~: 236051) ERC721Test:testSafetyOfCustomStorage(uint256,uint256) (runs: 314, μ: 713, ~: 713) -ERC721Test:testTransferFrom() (gas: 86352) -ERC721Test:testTransferFrom(uint256) (runs: 314, μ: 114189, ~: 113167) -ERC721Test:testTransferFromApproveAll(uint256) (runs: 314, μ: 119772, ~: 119766) -ERC721Test:testTransferFromNotExistentReverts(address,address,uint256) (runs: 314, μ: 34556, ~: 34755) -ERC721Test:testTransferFromNotOwner(uint256) (runs: 314, μ: 85267, ~: 85442) -ERC721Test:testTransferFromSelf(uint256) (runs: 314, μ: 93024, ~: 93066) -ERC721Test:testTransferFromToZeroReverts(uint256) (runs: 314, μ: 63445, ~: 63319) -ERC721Test:testTransferFromWrongFromReverts(address,uint256) (runs: 314, μ: 80987, ~: 81161) -ERC721Test:test__codesize() (gas: 42126) +ERC721Test:testTransferFrom() (gas: 86038) +ERC721Test:testTransferFrom(uint256) (runs: 314, μ: 113754, ~: 112676) +ERC721Test:testTransferFromApproveAll(uint256) (runs: 314, μ: 119268, ~: 119258) +ERC721Test:testTransferFromNotExistentReverts(address,address,uint256) (runs: 314, μ: 34284, ~: 34142) +ERC721Test:testTransferFromNotOwner(uint256) (runs: 314, μ: 84881, ~: 84777) +ERC721Test:testTransferFromSelf(uint256) (runs: 314, μ: 92655, ~: 92648) +ERC721Test:testTransferFromToZeroReverts(uint256) (runs: 314, μ: 63165, ~: 63069) +ERC721Test:testTransferFromWrongFromReverts(address,uint256) (runs: 314, μ: 80624, ~: 80743) +ERC721Test:test__codesize() (gas: 42120) EfficientHashLibTest:testEfficientHash() (gas: 7544) EfficientHashLibTest:testEfficientHash(uint256) (runs: 314, μ: 7615, ~: 7615) EfficientHashLibTest:testEfficientHashFree() (gas: 372) -EfficientHashLibTest:testEfficientHashFree(uint8,bool,uint8) (runs: 314, μ: 967, ~: 908) +EfficientHashLibTest:testEfficientHashFree(uint8,bool,uint8) (runs: 314, μ: 971, ~: 908) 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: 314, μ: 47430, ~: 39823) +EnumerableSetLibTest:testEnumerableAddressSetRevertsOnSentinel(uint256) (runs: 314, μ: 48106, ~: 38593) EnumerableSetLibTest:testEnumerableBytes32SetBasic() (gas: 271282) EnumerableSetLibTest:testEnumerableBytes32SetBasic2() (gas: 178471) EnumerableSetLibTest:testEnumerableBytes32SetNoStorageCollision() (gas: 103477) -EnumerableSetLibTest:testEnumerableBytes32SetRevertsOnSentinel(uint256) (runs: 314, μ: 51851, ~: 49215) -EnumerableSetLibTest:testEnumerableSetFuzz(uint256) (runs: 314, μ: 607712, ~: 488734) -EnumerableSetLibTest:test__codesize() (gas: 14261) +EnumerableSetLibTest:testEnumerableBytes32SetRevertsOnSentinel(uint256) (runs: 314, μ: 51154, ~: 49215) +EnumerableSetLibTest:testEnumerableSetFuzz(uint256) (runs: 314, μ: 635654, ~: 503568) +EnumerableSetLibTest:test__codesize() (gas: 14265) FixedPointMathLibTest:testAbs() (gas: 702) FixedPointMathLibTest:testAbs(int256) (runs: 314, μ: 488, ~: 457) FixedPointMathLibTest:testAbsEdgeCases() (gas: 469) @@ -571,20 +571,20 @@ FixedPointMathLibTest:testZeroFloorSub(uint256,uint256) (runs: 314, μ: 572, ~: FixedPointMathLibTest:testZeroFloorSubCasted(uint32,uint32,uint256) (runs: 314, μ: 880, ~: 846) FixedPointMathLibTest:test__codesize() (gas: 45155) GasBurnerLibTest:testBurn() (gas: 105035) -GasBurnerLibTest:testBurn(uint256) (runs: 314, μ: 43541, ~: 33822) +GasBurnerLibTest:testBurn(uint256) (runs: 314, μ: 42887, ~: 31978) GasBurnerLibTest:testBurnPure() (gas: 1700850) -GasBurnerLibTest:testBurnPure(uint256) (runs: 314, μ: 25023, ~: 24588) +GasBurnerLibTest:testBurnPure(uint256) (runs: 314, μ: 24970, ~: 24446) GasBurnerLibTest:testBurnPureTiming() (gas: 300223) GasBurnerLibTest:testBurnTiming() (gas: 293139) GasBurnerLibTest:testBurnView() (gas: 66700) -GasBurnerLibTest:testBurnView(uint256) (runs: 314, μ: 27128, ~: 26318) +GasBurnerLibTest:testBurnView(uint256) (runs: 314, μ: 26944, ~: 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: 314, μ: 790, ~: 791) -InitializableTest:testInitializeReinititalize(uint256) (runs: 314, μ: 96306, ~: 95544) +InitializableTest:testInitializeReinititalize(uint256) (runs: 314, μ: 96252, ~: 95160) InitializableTest:testInitializeReinititalizerTrick(bool,uint64,uint64) (runs: 314, μ: 674, ~: 687) InitializableTest:testOnlyInitializing() (gas: 10420) InitializableTest:test__codesize() (gas: 10480) @@ -626,13 +626,13 @@ LibBitTest:testCLZ() (gas: 297260) LibBitTest:testFFS() (gas: 152877) LibBitTest:testFLS() (gas: 245237) LibBitTest:testIsPo2() (gas: 57663) -LibBitTest:testIsPo2(uint256) (runs: 314, μ: 3525, ~: 2130) +LibBitTest:testIsPo2(uint256) (runs: 314, μ: 3537, ~: 2130) LibBitTest:testIsPo2(uint8,uint8) (runs: 314, μ: 623, ~: 624) LibBitTest:testOr() (gas: 194336) LibBitTest:testOr(bool,bool) (runs: 314, μ: 649, ~: 648) LibBitTest:testPassInBool() (gas: 830) LibBitTest:testPopCount() (gas: 63738) -LibBitTest:testPopCount(uint256) (runs: 314, μ: 3667, ~: 2272) +LibBitTest:testPopCount(uint256) (runs: 314, μ: 3679, ~: 2272) LibBitTest:testReturnsBool() (gas: 779) LibBitTest:testReverseBits() (gas: 131521) LibBitTest:testReverseBitsDifferential(uint256) (runs: 314, μ: 18724, ~: 18724) @@ -642,14 +642,14 @@ LibBitTest:test__codesize() (gas: 5842) LibBitmapTest:testBitmapClaimWithGetSet() (gas: 27156) LibBitmapTest:testBitmapClaimWithToggle() (gas: 17480) LibBitmapTest:testBitmapFindFirstUnset() (gas: 54669) -LibBitmapTest:testBitmapFindFirstUnset(uint256,uint256,bytes32) (runs: 314, μ: 141297, ~: 140245) +LibBitmapTest:testBitmapFindFirstUnset(uint256,uint256,bytes32) (runs: 314, μ: 141308, ~: 140245) LibBitmapTest:testBitmapFindLastSet() (gas: 1300541) -LibBitmapTest:testBitmapFindLastSet(uint256,bytes32) (runs: 314, μ: 75940, ~: 76220) +LibBitmapTest:testBitmapFindLastSet(uint256,bytes32) (runs: 314, μ: 75941, ~: 76220) LibBitmapTest:testBitmapFindLastSet2() (gas: 23882) LibBitmapTest:testBitmapGet() (gas: 2549) LibBitmapTest:testBitmapGet(uint256) (runs: 314, μ: 2599, ~: 2599) LibBitmapTest:testBitmapPopCount() (gas: 751877) -LibBitmapTest:testBitmapPopCount(uint256,uint256,uint256) (runs: 314, μ: 214763, ~: 192956) +LibBitmapTest:testBitmapPopCount(uint256,uint256,uint256) (runs: 314, μ: 213198, ~: 192792) LibBitmapTest:testBitmapPopCountAcrossMultipleBuckets() (gas: 73634) LibBitmapTest:testBitmapPopCountWithinSingleBucket() (gas: 34032) LibBitmapTest:testBitmapSet() (gas: 22771) @@ -669,71 +669,71 @@ LibBitmapTest:testBitmapUnsetBatch() (gas: 2981123) LibBitmapTest:testBitmapUnsetBatchAcrossMultipleBuckets() (gas: 438470) LibBitmapTest:testBitmapUnsetBatchWithinSingleBucket() (gas: 445869) LibBitmapTest:test__codesize() (gas: 8720) -LibCWIATest:testCloneDeteministicWithImmutableArgs() (gas: 191965) -LibCWIATest:testCloneDeteministicWithImmutableArgs(address,uint256,uint256[],bytes,uint64,uint8,uint256) (runs: 314, μ: 1092852, ~: 1044034) +LibCWIATest:testCloneDeteministicWithImmutableArgs() (gas: 191784) +LibCWIATest:testCloneDeteministicWithImmutableArgs(address,uint256,uint256[],bytes,uint64,uint8,uint256) (runs: 314, μ: 1091596, ~: 1042799) LibCWIATest:testCloneWithImmutableArgs() (gas: 120548) LibCWIATest:testCloneWithImmutableArgs(uint256,address,uint256,uint256[],uint64,uint8) (runs: 314, μ: 997420, ~: 982338) -LibCWIATest:testCloneWithImmutableArgsRevertsIfDataTooBig() (gas: 97306657) -LibCWIATest:test__codesize() (gas: 12335) -LibCloneTest:testClone() (gas: 97598) -LibCloneTest:testClone(uint256) (runs: 314, μ: 97692, ~: 97692) -LibCloneTest:testCloneDeterministic() (gas: 98533) -LibCloneTest:testCloneDeterministic(bytes32) (runs: 314, μ: 2564473, ~: 98783) -LibCloneTest:testCloneDeterministicWithImmutableArgs() (gas: 128890) -LibCloneTest:testCloneDeterministicWithImmutableArgs(bytes32) (runs: 314, μ: 8127850, ~: 121785) -LibCloneTest:testCloneWithImmutableArgs() (gas: 129436) -LibCloneTest:testCloneWithImmutableArgs(uint256) (runs: 314, μ: 3198504, ~: 119262) +LibCWIATest:testCloneWithImmutableArgsRevertsIfDataTooBig() (gas: 97305791) +LibCWIATest:test__codesize() (gas: 12329) +LibCloneTest:testClone() (gas: 97516) +LibCloneTest:testClone(uint256) (runs: 314, μ: 97610, ~: 97610) +LibCloneTest:testCloneDeterministic() (gas: 98446) +LibCloneTest:testCloneDeterministic(bytes32) (runs: 314, μ: 2575328, ~: 98692) +LibCloneTest:testCloneDeterministicWithImmutableArgs() (gas: 128757) +LibCloneTest:testCloneDeterministicWithImmutableArgs(bytes32) (runs: 314, μ: 7228217, ~: 122268) +LibCloneTest:testCloneWithImmutableArgs() (gas: 129312) +LibCloneTest:testCloneWithImmutableArgs(uint256) (runs: 314, μ: 3198748, ~: 119189) LibCloneTest:testCloneWithImmutableArgsSlicing() (gas: 57948) -LibCloneTest:testCreateDeterministicERC1967(bytes32) (runs: 314, μ: 181493, ~: 128213) -LibCloneTest:testCreateDeterministicERC1967BeaconProxy(bytes32) (runs: 314, μ: 357762, ~: 360735) -LibCloneTest:testCreateDeterministicERC1967BeaconProxyWithImmutableArgs(bytes32) (runs: 314, μ: 529358, ~: 362740) -LibCloneTest:testCreateDeterministicERC1967I(bytes32) (runs: 314, μ: 206482, ~: 132666) -LibCloneTest:testCreateDeterministicERC1967IBeaconProxy(bytes32) (runs: 314, μ: 370358, ~: 361773) -LibCloneTest:testCreateDeterministicERC1967IBeaconProxyWithImmutableArgs(bytes32) (runs: 314, μ: 651616, ~: 365016) -LibCloneTest:testCreateDeterministicERC1967IWithImmutableArgs(bytes32) (runs: 314, μ: 736167, ~: 154388) -LibCloneTest:testCreateDeterministicERC1967WithImmutableArgs(bytes32) (runs: 314, μ: 491259, ~: 150227) -LibCloneTest:testDeployDeterministicERC1967() (gas: 133653) -LibCloneTest:testDeployDeterministicERC1967(bytes32) (runs: 314, μ: 2402980, ~: 133494) -LibCloneTest:testDeployDeterministicERC1967BeaconProxy(bytes32) (runs: 314, μ: 5215975, ~: 357720) -LibCloneTest:testDeployDeterministicERC1967BeaconProxyWithImmutableArgs(bytes32) (runs: 314, μ: 6307157, ~: 368440) -LibCloneTest:testDeployDeterministicERC1967I() (gas: 129746) -LibCloneTest:testDeployDeterministicERC1967I(bytes32) (runs: 314, μ: 2916558, ~: 129708) -LibCloneTest:testDeployDeterministicERC1967IBeaconProxy(bytes32) (runs: 314, μ: 3399088, ~: 359955) -LibCloneTest:testDeployDeterministicERC1967IBeaconProxyWithImmutableArgs(bytes32) (runs: 314, μ: 5396297, ~: 370974) -LibCloneTest:testDeployDeterministicERC1967IWithImmutableArgs() (gas: 129746) -LibCloneTest:testDeployDeterministicERC1967IWithImmutableArgs(bytes32) (runs: 314, μ: 6046002, ~: 151410) -LibCloneTest:testDeployDeterministicERC1967WithImmutableArgs() (gas: 170813) -LibCloneTest:testDeployDeterministicERC1967WithImmutableArgs(bytes32) (runs: 314, μ: 5068219, ~: 146463) +LibCloneTest:testCreateDeterministicERC1967(bytes32) (runs: 314, μ: 170648, ~: 128122) +LibCloneTest:testCreateDeterministicERC1967BeaconProxy(bytes32) (runs: 314, μ: 357070, ~: 360644) +LibCloneTest:testCreateDeterministicERC1967BeaconProxyWithImmutableArgs(bytes32) (runs: 314, μ: 539632, ~: 362544) +LibCloneTest:testCreateDeterministicERC1967I(bytes32) (runs: 314, μ: 177754, ~: 132573) +LibCloneTest:testCreateDeterministicERC1967IBeaconProxy(bytes32) (runs: 314, μ: 376075, ~: 361682) +LibCloneTest:testCreateDeterministicERC1967IBeaconProxyWithImmutableArgs(bytes32) (runs: 314, μ: 653369, ~: 364898) +LibCloneTest:testCreateDeterministicERC1967IWithImmutableArgs(bytes32) (runs: 314, μ: 731521, ~: 154266) +LibCloneTest:testCreateDeterministicERC1967WithImmutableArgs(bytes32) (runs: 314, μ: 489328, ~: 150099) +LibCloneTest:testDeployDeterministicERC1967() (gas: 133562) +LibCloneTest:testDeployDeterministicERC1967(bytes32) (runs: 314, μ: 1808389, ~: 133400) +LibCloneTest:testDeployDeterministicERC1967BeaconProxy(bytes32) (runs: 314, μ: 5220082, ~: 357623) +LibCloneTest:testDeployDeterministicERC1967BeaconProxyWithImmutableArgs(bytes32) (runs: 314, μ: 6613953, ~: 368354) +LibCloneTest:testDeployDeterministicERC1967I() (gas: 129655) +LibCloneTest:testDeployDeterministicERC1967I(bytes32) (runs: 314, μ: 2616400, ~: 129617) +LibCloneTest:testDeployDeterministicERC1967IBeaconProxy(bytes32) (runs: 314, μ: 3406963, ~: 359858) +LibCloneTest:testDeployDeterministicERC1967IBeaconProxyWithImmutableArgs(bytes32) (runs: 314, μ: 5378585, ~: 371632) +LibCloneTest:testDeployDeterministicERC1967IWithImmutableArgs() (gas: 129655) +LibCloneTest:testDeployDeterministicERC1967IWithImmutableArgs(bytes32) (runs: 314, μ: 5434932, ~: 151286) +LibCloneTest:testDeployDeterministicERC1967WithImmutableArgs() (gas: 170665) +LibCloneTest:testDeployDeterministicERC1967WithImmutableArgs(bytes32) (runs: 314, μ: 5333503, ~: 146167) LibCloneTest:testDeployERC1967() (gas: 130817) -LibCloneTest:testDeployERC1967(bytes32) (runs: 314, μ: 231993, ~: 130898) -LibCloneTest:testDeployERC1967BeaconProxy(bytes32) (runs: 314, μ: 358793, ~: 294993) -LibCloneTest:testDeployERC1967BeaconProxyWithImmutableArgs() (gas: 879000) -LibCloneTest:testDeployERC1967BeaconProxyWithImmutableArgs(address,bytes32) (runs: 314, μ: 26710070, ~: 265651) -LibCloneTest:testDeployERC1967I() (gas: 129964) -LibCloneTest:testDeployERC1967I(bytes32) (runs: 314, μ: 130034, ~: 130034) -LibCloneTest:testDeployERC1967IBeaconProxy() (gas: 359439) -LibCloneTest:testDeployERC1967IBeaconProxy(bytes32) (runs: 314, μ: 358184, ~: 359197) -LibCloneTest:testDeployERC1967IBeaconProxyWithImmutableArgs() (gas: 940290) -LibCloneTest:testDeployERC1967IBeaconProxyWithImmutableArgs(address,bytes32) (runs: 314, μ: 25397661, ~: 259712) -LibCloneTest:testDeployERC1967IWithImmutableArgs() (gas: 168734) -LibCloneTest:testDeployERC1967IWithImmutableArgs(bytes32) (runs: 314, μ: 2916121, ~: 150970) -LibCloneTest:testDeployERC1967WithImmutableArgs() (gas: 145438) -LibCloneTest:testDeployERC1967WithImmutableArgs(bytes32) (runs: 314, μ: 4839488, ~: 145194) -LibCloneTest:testERC1967BeaconProxyGasBehavior(uint256,uint256) (runs: 314, μ: 353044, ~: 346672) -LibCloneTest:testERC1967ConstantBootstrap(address,bytes32) (runs: 314, μ: 186166, ~: 169760) -LibCloneTest:testERC1967IBeaconProxyGasBehavior(uint256,uint256) (runs: 314, μ: 364010, ~: 347576) -LibCloneTest:testImplemenationOf(address) (runs: 314, μ: 504674, ~: 80320) +LibCloneTest:testDeployERC1967(bytes32) (runs: 314, μ: 257504, ~: 130901) +LibCloneTest:testDeployERC1967BeaconProxy(bytes32) (runs: 314, μ: 355677, ~: 294911) +LibCloneTest:testDeployERC1967BeaconProxyWithImmutableArgs() (gas: 877817) +LibCloneTest:testDeployERC1967BeaconProxyWithImmutableArgs(address,bytes32) (runs: 314, μ: 26702599, ~: 265424) +LibCloneTest:testDeployERC1967I() (gas: 129878) +LibCloneTest:testDeployERC1967I(bytes32) (runs: 314, μ: 129948, ~: 129948) +LibCloneTest:testDeployERC1967IBeaconProxy() (gas: 359361) +LibCloneTest:testDeployERC1967IBeaconProxy(bytes32) (runs: 314, μ: 350833, ~: 359112) +LibCloneTest:testDeployERC1967IBeaconProxyWithImmutableArgs() (gas: 941150) +LibCloneTest:testDeployERC1967IBeaconProxyWithImmutableArgs(address,bytes32) (runs: 314, μ: 25071620, ~: 259052) +LibCloneTest:testDeployERC1967IWithImmutableArgs() (gas: 168589) +LibCloneTest:testDeployERC1967IWithImmutableArgs(bytes32) (runs: 314, μ: 2942701, ~: 150771) +LibCloneTest:testDeployERC1967WithImmutableArgs() (gas: 145329) +LibCloneTest:testDeployERC1967WithImmutableArgs(bytes32) (runs: 314, μ: 4814692, ~: 145094) +LibCloneTest:testERC1967BeaconProxyGasBehavior(uint256,uint256) (runs: 314, μ: 354797, ~: 346587) +LibCloneTest:testERC1967ConstantBootstrap(address,bytes32) (runs: 314, μ: 186152, ~: 169666) +LibCloneTest:testERC1967IBeaconProxyGasBehavior(uint256,uint256) (runs: 314, μ: 365923, ~: 347504) +LibCloneTest:testImplemenationOf(address) (runs: 314, μ: 502361, ~: 80320) LibCloneTest:testImplemenationOfGas() (gas: 631777) -LibCloneTest:testInitCode(address) (runs: 314, μ: 235689, ~: 44111) +LibCloneTest:testInitCode(address) (runs: 314, μ: 228035, ~: 42103) LibCloneTest:testInitialDeposit() (gas: 872449) -LibCloneTest:testSlicingRevertsOnZeroCodeAddress(address) (runs: 314, μ: 71349, ~: 31181) -LibCloneTest:testStartsWith(uint256) (runs: 314, μ: 30020, ~: 29987) -LibCloneTest:test__codesize() (gas: 42104) -LibERC6551Test:testComputeAccountAddress(address,bytes32,uint256,address,uint256) (runs: 314, μ: 208217, ~: 29507) -LibERC6551Test:testContext(address,bytes32,uint256,address,uint256) (runs: 314, μ: 103037, ~: 102943) -LibERC6551Test:testInitCodeHash(address,bytes32,uint256,address,uint256) (runs: 314, μ: 253542, ~: 23818) -LibERC6551Test:testIsERC6551Account(address,bytes32,uint256,address,uint256) (runs: 314, μ: 114207, ~: 114208) -LibERC6551Test:test__codesize() (gas: 5280) +LibCloneTest:testSlicingRevertsOnZeroCodeAddress(address) (runs: 314, μ: 71390, ~: 31142) +LibCloneTest:testStartsWith(uint256) (runs: 314, μ: 29710, ~: 29678) +LibCloneTest:test__codesize() (gas: 42108) +LibERC6551Test:testComputeAccountAddress(address,bytes32,uint256,address,uint256) (runs: 314, μ: 224107, ~: 29035) +LibERC6551Test:testContext(address,bytes32,uint256,address,uint256) (runs: 314, μ: 102329, ~: 102235) +LibERC6551Test:testInitCodeHash(address,bytes32,uint256,address,uint256) (runs: 314, μ: 213851, ~: 23818) +LibERC6551Test:testIsERC6551Account(address,bytes32,uint256,address,uint256) (runs: 314, μ: 112536, ~: 112546) +LibERC6551Test:test__codesize() (gas: 5284) LibMapTest:testFoundStatementDifferential(uint256,uint256,uint256) (runs: 314, μ: 499, ~: 499) LibMapTest:testGeneralMapFunctionsGas() (gas: 3304775) LibMapTest:testGeneralMapFunctionsWithSmallBitWidths(uint256) (runs: 314, μ: 84839, ~: 85698) @@ -772,16 +772,16 @@ LibMapTest:test__codesize() (gas: 12065) LibPRNGTest:testExponentialWad() (gas: 4394348) LibPRNGTest:testLCGGas() (gas: 20803) LibPRNGTest:testLazyShufflerGet() (gas: 298845) -LibPRNGTest:testLazyShufflerGetOutOfBoundsReverts(uint256,uint256) (runs: 314, μ: 26628, ~: 26667) +LibPRNGTest:testLazyShufflerGetOutOfBoundsReverts(uint256,uint256) (runs: 314, μ: 26623, ~: 26667) LibPRNGTest:testLazyShufflerNoStorageCollisions() (gas: 266054) -LibPRNGTest:testLazyShufflerProducesShuffledRange(uint256) (runs: 314, μ: 219380, ~: 91475) +LibPRNGTest:testLazyShufflerProducesShuffledRange(uint256) (runs: 314, μ: 188976, ~: 91266) LibPRNGTest:testLazyShufflerProducesShuffledRange2() (gas: 9059432) -LibPRNGTest:testLazyShufflerProducesShuffledRangeWithGrow(uint256,uint256) (runs: 314, μ: 189685, ~: 177163) +LibPRNGTest:testLazyShufflerProducesShuffledRangeWithGrow(uint256,uint256) (runs: 314, μ: 186503, ~: 176023) LibPRNGTest:testLazyShufflerRestart() (gas: 276254) LibPRNGTest:testLazyShufflerRevertsOnDoubleInit() (gas: 26824) -LibPRNGTest:testLazyShufflerRevertsOnFinshedNext(uint256) (runs: 314, μ: 64273, ~: 56867) -LibPRNGTest:testLazyShufflerRevertsOnGrowWithInvalidLength(uint256,uint256) (runs: 314, μ: 24689, ~: 24708) -LibPRNGTest:testLazyShufflerRevertsOnInitWithInvalidLength(uint256) (runs: 314, μ: 22909, ~: 23639) +LibPRNGTest:testLazyShufflerRevertsOnFinshedNext(uint256) (runs: 314, μ: 64070, ~: 56705) +LibPRNGTest:testLazyShufflerRevertsOnGrowWithInvalidLength(uint256,uint256) (runs: 314, μ: 24688, ~: 24708) +LibPRNGTest:testLazyShufflerRevertsOnInitWithInvalidLength(uint256) (runs: 314, μ: 22849, ~: 23673) LibPRNGTest:testLazyShufflerRevertsOnZeroLengthNext() (gas: 27623) LibPRNGTest:testPRNGGas() (gas: 25667) LibPRNGTest:testPRNGNext() (gas: 16162) @@ -794,154 +794,154 @@ LibPRNGTest:testPRNGShuffleDistribution() (gas: 3106699) LibPRNGTest:testPRNGShuffleGas() (gas: 1610927) LibPRNGTest:testPRNGUniform() (gas: 559430) LibPRNGTest:testStandardNormalWad() (gas: 4425913) -LibPRNGTest:test__codesize() (gas: 14449) -LibRLPTest:testComputeAddressDifferential(address,uint256) (runs: 314, μ: 4442, ~: 4287) +LibPRNGTest:test__codesize() (gas: 14459) +LibRLPTest:testComputeAddressDifferential(address,uint256) (runs: 314, μ: 4404, ~: 4266) LibRLPTest:testComputeAddressForLargeNonces() (gas: 1760) LibRLPTest:testComputeAddressForSmallNonces() (gas: 1007) LibRLPTest:testComputeAddressOriginalForLargeNonces() (gas: 3766) LibRLPTest:testComputeAddressOriginalForSmallNonces() (gas: 2185) -LibRLPTest:testRLPEncodeAddressDifferential(address) (runs: 314, μ: 257857, ~: 26286) -LibRLPTest:testRLPEncodeAddressViaList(address,address) (runs: 314, μ: 151987, ~: 28014) -LibRLPTest:testRLPEncodeBool(bool) (runs: 314, μ: 27682, ~: 27818) +LibRLPTest:testRLPEncodeAddressDifferential(address) (runs: 314, μ: 296073, ~: 26203) +LibRLPTest:testRLPEncodeAddressViaList(address,address) (runs: 314, μ: 175115, ~: 27897) +LibRLPTest:testRLPEncodeBool(bool) (runs: 314, μ: 27594, ~: 27730) LibRLPTest:testRLPEncodeBytes() (gas: 382181) LibRLPTest:testRLPEncodeBytes2() (gas: 156293) -LibRLPTest:testRLPEncodeBytesDifferential(bytes32) (runs: 314, μ: 265390, ~: 29578) -LibRLPTest:testRLPEncodeList() (gas: 2738950) -LibRLPTest:testRLPEncodeList2() (gas: 803256) -LibRLPTest:testRLPEncodeListDifferential(bytes,uint256) (runs: 314, μ: 442046, ~: 645881) -LibRLPTest:testRLPEncodeUint() (gas: 1291481) -LibRLPTest:testRLPEncodeUint(uint256) (runs: 314, μ: 105905, ~: 24990) -LibRLPTest:testRLPEncodeUintDifferential(uint256) (runs: 314, μ: 244547, ~: 27082) -LibRLPTest:testRLPMemory(bytes32) (runs: 314, μ: 325106, ~: 34808) +LibRLPTest:testRLPEncodeBytesDifferential(bytes32) (runs: 314, μ: 281127, ~: 29824) +LibRLPTest:testRLPEncodeList() (gas: 727560) +LibRLPTest:testRLPEncodeList2() (gas: 801596) +LibRLPTest:testRLPEncodeListDifferential(bytes,uint256) (runs: 314, μ: 442096, ~: 39073) +LibRLPTest:testRLPEncodeUint() (gas: 1290773) +LibRLPTest:testRLPEncodeUint(uint256) (runs: 314, μ: 112960, ~: 25001) +LibRLPTest:testRLPEncodeUintDifferential(uint256) (runs: 314, μ: 212055, ~: 27050) +LibRLPTest:testRLPMemory(bytes32) (runs: 314, μ: 281934, ~: 38922) LibRLPTest:testRLPPUint256() (gas: 364901) -LibRLPTest:testSmallLog256Equivalence(uint256) (runs: 314, μ: 23670, ~: 23700) -LibRLPTest:test__codesize() (gas: 15520) -LibSortTest:testCopy(uint256) (runs: 314, μ: 56514, ~: 25734) -LibSortTest:testInsertionSortAddressesDifferential(uint256) (runs: 314, μ: 45278, ~: 24962) +LibRLPTest:testSmallLog256Equivalence(uint256) (runs: 314, μ: 23679, ~: 23700) +LibRLPTest:test__codesize() (gas: 15515) +LibSortTest:testCopy(uint256) (runs: 314, μ: 63648, ~: 25737) +LibSortTest:testInsertionSortAddressesDifferential(uint256) (runs: 314, μ: 45254, ~: 24962) LibSortTest:testInsertionSortInts() (gas: 80727) LibSortTest:testInsertionSortPsuedorandom() (gas: 63725) -LibSortTest:testInsertionSortPsuedorandom(uint256) (runs: 314, μ: 62366, ~: 62421) -LibSortTest:testIsSortedAddressesDifferential(uint256) (runs: 314, μ: 37265, ~: 29063) -LibSortTest:testIsSortedAndUniquifiedAddressesDifferential(uint256) (runs: 314, μ: 36281, ~: 28497) -LibSortTest:testIsSortedAndUniquifiedDifferential(uint256) (runs: 314, μ: 33569, ~: 28486) -LibSortTest:testIsSortedAndUniquifiedIntsDifferential(uint256) (runs: 314, μ: 44021, ~: 29826) -LibSortTest:testIsSortedDifferential(uint256) (runs: 314, μ: 38758, ~: 28576) -LibSortTest:testIsSortedIntsDifferential(uint256) (runs: 314, μ: 46384, ~: 29861) +LibSortTest:testInsertionSortPsuedorandom(uint256) (runs: 314, μ: 62328, ~: 62392) +LibSortTest:testIsSortedAddressesDifferential(uint256) (runs: 314, μ: 37082, ~: 29063) +LibSortTest:testIsSortedAndUniquifiedAddressesDifferential(uint256) (runs: 314, μ: 35971, ~: 28278) +LibSortTest:testIsSortedAndUniquifiedDifferential(uint256) (runs: 314, μ: 33481, ~: 28442) +LibSortTest:testIsSortedAndUniquifiedIntsDifferential(uint256) (runs: 314, μ: 43288, ~: 29656) +LibSortTest:testIsSortedDifferential(uint256) (runs: 314, μ: 39088, ~: 28744) +LibSortTest:testIsSortedIntsDifferential(uint256) (runs: 314, μ: 45744, ~: 29799) LibSortTest:testReverse() (gas: 117297) LibSortTest:testSearchSorted() (gas: 118972) LibSortTest:testSearchSortedAddresses() (gas: 251950) LibSortTest:testSearchSortedBasicCases() (gas: 2244) -LibSortTest:testSearchSortedDifferential(uint256) (runs: 314, μ: 47792, ~: 31531) +LibSortTest:testSearchSortedDifferential(uint256) (runs: 314, μ: 47138, ~: 31478) LibSortTest:testSearchSortedEdgeCases() (gas: 1617) -LibSortTest:testSearchSortedElementInArray(uint256) (runs: 314, μ: 56762, ~: 31355) +LibSortTest:testSearchSortedElementInArray(uint256) (runs: 314, μ: 55431, ~: 31280) LibSortTest:testSearchSortedElementNotInArray() (gas: 6135) -LibSortTest:testSearchSortedElementNotInArray(uint256) (runs: 314, μ: 49625, ~: 33214) +LibSortTest:testSearchSortedElementNotInArray(uint256) (runs: 314, μ: 49154, ~: 33605) LibSortTest:testSearchSortedInts() (gas: 120794) LibSortTest:testSearchSortedInts(int256[],int256) (runs: 314, μ: 12198, ~: 11897) LibSortTest:testSearchSortedWithEmptyArray() (gas: 709) -LibSortTest:testSort(uint256) (runs: 314, μ: 39463, ~: 28990) -LibSortTest:testSortAddressesDifferential(uint256) (runs: 314, μ: 59259, ~: 31341) +LibSortTest:testSort(uint256) (runs: 314, μ: 38374, ~: 28902) +LibSortTest:testSortAddressesDifferential(uint256) (runs: 314, μ: 55775, ~: 31323) LibSortTest:testSortAddressesPsuedorandom() (gas: 148711) -LibSortTest:testSortAddressesPsuedorandom(uint256) (runs: 314, μ: 148890, ~: 148903) +LibSortTest:testSortAddressesPsuedorandom(uint256) (runs: 314, μ: 148899, ~: 148919) LibSortTest:testSortAddressesPsuedorandomBrutalizeUpperBits() (gas: 200629) LibSortTest:testSortAddressesReversed() (gas: 45400) LibSortTest:testSortAddressesSorted() (gas: 42376) LibSortTest:testSortBasicCase() (gas: 1210) -LibSortTest:testSortChecksumed(uint256) (runs: 314, μ: 45490, ~: 31177) -LibSortTest:testSortDifferential(uint256) (runs: 314, μ: 58045, ~: 27772) +LibSortTest:testSortChecksumed(uint256) (runs: 314, μ: 45827, ~: 31329) +LibSortTest:testSortDifferential(uint256) (runs: 314, μ: 58360, ~: 28313) LibSortTest:testSortInts() (gas: 895631) LibSortTest:testSortMostlySame() (gas: 67374) LibSortTest:testSortOriginalMostlySame() (gas: 207985) LibSortTest:testSortOriginalPsuedorandom() (gas: 283954) -LibSortTest:testSortOriginalPsuedorandom(uint256) (runs: 314, μ: 287548, ~: 286753) +LibSortTest:testSortOriginalPsuedorandom(uint256) (runs: 314, μ: 287425, ~: 286712) LibSortTest:testSortOriginalReversed() (gas: 156282) LibSortTest:testSortOriginalSorted() (gas: 142263) LibSortTest:testSortPsuedorandom() (gas: 141932) -LibSortTest:testSortPsuedorandom(uint256) (runs: 314, μ: 142241, ~: 142201) +LibSortTest:testSortPsuedorandom(uint256) (runs: 314, μ: 142239, ~: 142201) LibSortTest:testSortPsuedorandomNonuniform() (gas: 147496) -LibSortTest:testSortPsuedorandomNonuniform(uint256) (runs: 314, μ: 147778, ~: 147646) +LibSortTest:testSortPsuedorandomNonuniform(uint256) (runs: 314, μ: 147816, ~: 147668) LibSortTest:testSortReversed() (gas: 38827) LibSortTest:testSortSorted() (gas: 35785) LibSortTest:testSortTestOverhead() (gas: 103630) LibSortTest:testSortedDifferenceDifferential() (gas: 183604) -LibSortTest:testSortedDifferenceDifferential(uint256) (runs: 314, μ: 35350, ~: 35236) -LibSortTest:testSortedDifferenceDifferentialInt(uint256) (runs: 314, μ: 36987, ~: 36413) -LibSortTest:testSortedDifferenceUnionIntersection(uint256) (runs: 314, μ: 58627, ~: 52938) +LibSortTest:testSortedDifferenceDifferential(uint256) (runs: 314, μ: 35225, ~: 35183) +LibSortTest:testSortedDifferenceDifferentialInt(uint256) (runs: 314, μ: 37103, ~: 36475) +LibSortTest:testSortedDifferenceUnionIntersection(uint256) (runs: 314, μ: 58515, ~: 52976) LibSortTest:testSortedIntersectionDifferential() (gas: 209797) -LibSortTest:testSortedIntersectionDifferential(uint256) (runs: 314, μ: 33161, ~: 32416) -LibSortTest:testSortedIntersectionDifferentialInt(uint256) (runs: 314, μ: 34694, ~: 34214) +LibSortTest:testSortedIntersectionDifferential(uint256) (runs: 314, μ: 33125, ~: 32371) +LibSortTest:testSortedIntersectionDifferentialInt(uint256) (runs: 314, μ: 34652, ~: 34214) LibSortTest:testSortedUnionDifferential() (gas: 217387) -LibSortTest:testSortedUnionDifferential(uint256) (runs: 314, μ: 35328, ~: 34999) -LibSortTest:testSortedUnionDifferentialInt(uint256) (runs: 314, μ: 38445, ~: 37738) +LibSortTest:testSortedUnionDifferential(uint256) (runs: 314, μ: 35314, ~: 34999) +LibSortTest:testSortedUnionDifferentialInt(uint256) (runs: 314, μ: 38601, ~: 37860) LibSortTest:testTwoComplementConversionSort(int256,int256) (runs: 314, μ: 515, ~: 514) LibSortTest:testUniquifySorted() (gas: 1710) -LibSortTest:testUniquifySorted(uint256) (runs: 314, μ: 49456, ~: 28582) +LibSortTest:testUniquifySorted(uint256) (runs: 314, μ: 50184, ~: 29028) LibSortTest:testUniquifySortedAddress() (gas: 4039) -LibSortTest:testUniquifySortedAddress(uint256) (runs: 314, μ: 50397, ~: 28918) -LibSortTest:testUniquifySortedDifferential(uint256) (runs: 314, μ: 52807, ~: 31845) +LibSortTest:testUniquifySortedAddress(uint256) (runs: 314, μ: 50676, ~: 29463) +LibSortTest:testUniquifySortedDifferential(uint256) (runs: 314, μ: 51712, ~: 31931) LibSortTest:testUniquifySortedWithEmptyArray() (gas: 506) -LibSortTest:test__codesize() (gas: 21692) +LibSortTest:test__codesize() (gas: 21702) LibStringTest:testAddressToHexStringZeroRightPadded(address) (runs: 314, μ: 3414, ~: 3414) LibStringTest:testBytesToHexString() (gas: 4801) -LibStringTest:testBytesToHexString(bytes) (runs: 314, μ: 756249, ~: 624282) +LibStringTest:testBytesToHexString(bytes) (runs: 314, μ: 741095, ~: 624519) LibStringTest:testBytesToHexStringNoPrefix() (gas: 4489) -LibStringTest:testBytesToHexStringNoPrefix(bytes) (runs: 314, μ: 736555, ~: 623982) +LibStringTest:testBytesToHexStringNoPrefix(bytes) (runs: 314, μ: 724868, ~: 624121) LibStringTest:testContains() (gas: 43988) LibStringTest:testFromAddressToHexString() (gas: 3137) LibStringTest:testFromAddressToHexStringChecksummed() (gas: 35217) -LibStringTest:testFromAddressToHexStringChecksummedDifferential(uint256) (runs: 314, μ: 690085, ~: 612913) +LibStringTest:testFromAddressToHexStringChecksummedDifferential(uint256) (runs: 314, μ: 668806, ~: 613066) LibStringTest:testFromAddressToHexStringWithLeadingZeros() (gas: 3113) -LibStringTest:testHexStringNoPrefixVariants(uint256,uint256) (runs: 314, μ: 772487, ~: 622786) +LibStringTest:testHexStringNoPrefixVariants(uint256,uint256) (runs: 314, μ: 735787, ~: 622573) LibStringTest:testNormalizeSmallString() (gas: 1387) LibStringTest:testNormalizeSmallString(bytes32) (runs: 314, μ: 3021, ~: 4213) LibStringTest:testStringConcat() (gas: 4003) -LibStringTest:testStringConcat(string,string) (runs: 314, μ: 702002, ~: 604396) +LibStringTest:testStringConcat(string,string) (runs: 314, μ: 722450, ~: 604675) LibStringTest:testStringConcatOriginal() (gas: 4654) LibStringTest:testStringDirectReturn() (gas: 6741) LibStringTest:testStringDirectReturn(string) (runs: 314, μ: 3002, ~: 2916) LibStringTest:testStringEndsWith() (gas: 2829) -LibStringTest:testStringEndsWith(uint256) (runs: 314, μ: 700718, ~: 637082) +LibStringTest:testStringEndsWith(uint256) (runs: 314, μ: 775803, ~: 637487) LibStringTest:testStringEq(string,string) (runs: 314, μ: 1566, ~: 1567) LibStringTest:testStringEqs() (gas: 2013) LibStringTest:testStringEscapeHTML() (gas: 8427) -LibStringTest:testStringEscapeHTML(uint256) (runs: 314, μ: 736246, ~: 641275) +LibStringTest:testStringEscapeHTML(uint256) (runs: 314, μ: 764095, ~: 642246) LibStringTest:testStringEscapeJSON() (gas: 39797) -LibStringTest:testStringEscapeJSONHexEncode() (gas: 727636) +LibStringTest:testStringEscapeJSONHexEncode() (gas: 728403) LibStringTest:testStringIndexOf() (gas: 17375) -LibStringTest:testStringIndexOf(uint256) (runs: 314, μ: 765613, ~: 645010) +LibStringTest:testStringIndexOf(uint256) (runs: 314, μ: 756578, ~: 644835) LibStringTest:testStringIndicesOf() (gas: 11700) -LibStringTest:testStringIndicesOf(uint256) (runs: 314, μ: 805248, ~: 648623) +LibStringTest:testStringIndicesOf(uint256) (runs: 314, μ: 738945, ~: 649522) LibStringTest:testStringIs7BitASCII() (gas: 205346) -LibStringTest:testStringIs7BitASCIIDifferential(bytes) (runs: 314, μ: 727988, ~: 604157) +LibStringTest:testStringIs7BitASCIIDifferential(bytes) (runs: 314, μ: 717900, ~: 604295) LibStringTest:testStringIs7BitASCIIWithAllowedLookup() (gas: 4939) -LibStringTest:testStringIs7BitASCIIWithAllowedLookupDifferential(bytes,uint128) (runs: 314, μ: 682191, ~: 603922) +LibStringTest:testStringIs7BitASCIIWithAllowedLookupDifferential(bytes,uint128) (runs: 314, μ: 656414, ~: 604094) LibStringTest:testStringLastIndexOf() (gas: 24042) -LibStringTest:testStringLastIndexOf(uint256) (runs: 314, μ: 721355, ~: 646300) +LibStringTest:testStringLastIndexOf(uint256) (runs: 314, μ: 720802, ~: 646295) LibStringTest:testStringLowerDifferential() (gas: 3405674) LibStringTest:testStringLowerDifferential(string) (runs: 314, μ: 8341, ~: 8072) LibStringTest:testStringLowerOriginal() (gas: 1219) -LibStringTest:testStringPackAndUnpackOne() (gas: 756426) -LibStringTest:testStringPackAndUnpackOne(string) (runs: 314, μ: 683845, ~: 603179) -LibStringTest:testStringPackAndUnpackOneDifferential(string) (runs: 314, μ: 690324, ~: 603035) -LibStringTest:testStringPackAndUnpackTwo() (gas: 916242) -LibStringTest:testStringPackAndUnpackTwo(string,string) (runs: 314, μ: 776437, ~: 604560) -LibStringTest:testStringPackAndUnpackTwoDifferential(string,string) (runs: 314, μ: 723366, ~: 603980) +LibStringTest:testStringPackAndUnpackOne() (gas: 1907772) +LibStringTest:testStringPackAndUnpackOne(string) (runs: 314, μ: 714912, ~: 603379) +LibStringTest:testStringPackAndUnpackOneDifferential(string) (runs: 314, μ: 681070, ~: 603283) +LibStringTest:testStringPackAndUnpackTwo() (gas: 917065) +LibStringTest:testStringPackAndUnpackTwo(string,string) (runs: 314, μ: 696752, ~: 604712) +LibStringTest:testStringPackAndUnpackTwoDifferential(string,string) (runs: 314, μ: 702593, ~: 604260) LibStringTest:testStringRepeat() (gas: 4986) -LibStringTest:testStringRepeat(string,uint256) (runs: 314, μ: 691929, ~: 606494) +LibStringTest:testStringRepeat(string,uint256) (runs: 314, μ: 695180, ~: 606638) LibStringTest:testStringRepeatOriginal() (gas: 9620) -LibStringTest:testStringReplace(uint256) (runs: 314, μ: 821692, ~: 650497) +LibStringTest:testStringReplace(uint256) (runs: 314, μ: 776480, ~: 650909) LibStringTest:testStringReplaceLong() (gas: 8573) LibStringTest:testStringReplaceMedium() (gas: 7581) LibStringTest:testStringReplaceShort() (gas: 12329) LibStringTest:testStringRuneCount() (gas: 3035897) LibStringTest:testStringRuneCountDifferential(string) (runs: 314, μ: 6152, ~: 5918) LibStringTest:testStringSlice() (gas: 9257) -LibStringTest:testStringSlice(bytes,uint256,uint256) (runs: 314, μ: 738383, ~: 628261) -LibStringTest:testStringSlice(uint256) (runs: 314, μ: 845825, ~: 645112) +LibStringTest:testStringSlice(bytes,uint256,uint256) (runs: 314, μ: 673623, ~: 628267) +LibStringTest:testStringSlice(uint256) (runs: 314, μ: 798587, ~: 643328) LibStringTest:testStringSplit() (gas: 20309) -LibStringTest:testStringSplit(uint256) (runs: 314, μ: 753700, ~: 647957) +LibStringTest:testStringSplit(uint256) (runs: 314, μ: 790526, ~: 648124) LibStringTest:testStringStartsWith() (gas: 2544) -LibStringTest:testStringStartsWith(uint256) (runs: 314, μ: 807085, ~: 636871) +LibStringTest:testStringStartsWith(uint256) (runs: 314, μ: 732363, ~: 636092) LibStringTest:testStringUpperDifferential() (gas: 3084191) LibStringTest:testStringUpperDifferential(string) (runs: 314, μ: 8340, ~: 8071) LibStringTest:testStringUpperOriginal() (gas: 1218) @@ -950,7 +950,7 @@ LibStringTest:testToHexStringFixedLengthInsufficientLength() (gas: 3395) LibStringTest:testToHexStringFixedLengthPositiveNumberLong() (gas: 3699) LibStringTest:testToHexStringFixedLengthPositiveNumberShort() (gas: 940) LibStringTest:testToHexStringFixedLengthUint256Max() (gas: 3656) -LibStringTest:testToHexStringFixedLengthZeroRightPadded(uint256,uint256) (runs: 314, μ: 8289, ~: 6491) +LibStringTest:testToHexStringFixedLengthZeroRightPadded(uint256,uint256) (runs: 314, μ: 8298, ~: 6491) LibStringTest:testToHexStringPositiveNumber() (gas: 865) LibStringTest:testToHexStringUint256Max() (gas: 3398) LibStringTest:testToHexStringZero() (gas: 805) @@ -965,99 +965,99 @@ LibStringTest:testToMinimalHexStringZero() (gas: 829) LibStringTest:testToMinimalHexStringZeroRightPadded(uint256) (runs: 314, μ: 1984, ~: 1595) LibStringTest:testToSmallString() (gas: 4448) LibStringTest:testToStringPositiveNumber() (gas: 910) -LibStringTest:testToStringPositiveNumberBrutalized() (gas: 603313) -LibStringTest:testToStringSignedDifferential(int256) (runs: 314, μ: 744987, ~: 606149) +LibStringTest:testToStringPositiveNumberBrutalized() (gas: 4076079) +LibStringTest:testToStringSignedDifferential(int256) (runs: 314, μ: 763383, ~: 606621) LibStringTest:testToStringSignedGas() (gas: 7305) -LibStringTest:testToStringSignedMemory(int256) (runs: 314, μ: 689754, ~: 604275) +LibStringTest:testToStringSignedMemory(int256) (runs: 314, μ: 702669, ~: 604640) LibStringTest:testToStringSignedOriginalGas() (gas: 9839) LibStringTest:testToStringUint256Max() (gas: 6687) -LibStringTest:testToStringUint256MaxBrutalized() (gas: 614604) +LibStringTest:testToStringUint256MaxBrutalized() (gas: 614415) LibStringTest:testToStringZero() (gas: 699) -LibStringTest:testToStringZeroBrutalized() (gas: 602785) -LibStringTest:testToStringZeroRightPadded(uint256) (runs: 314, μ: 727797, ~: 603756) -LibStringTest:test__codesize() (gas: 43124) +LibStringTest:testToStringZeroBrutalized() (gas: 602553) +LibStringTest:testToStringZeroRightPadded(uint256) (runs: 314, μ: 668713, ~: 603738) +LibStringTest:test__codesize() (gas: 43134) LibZipTest:testCdCompress() (gas: 126842) -LibZipTest:testCdCompressDecompress(bytes) (runs: 314, μ: 774162, ~: 658750) -LibZipTest:testCdCompressDecompress(uint256) (runs: 314, μ: 759882, ~: 677503) +LibZipTest:testCdCompressDecompress(bytes) (runs: 314, μ: 741132, ~: 658988) +LibZipTest:testCdCompressDecompress(uint256) (runs: 314, μ: 825152, ~: 678879) LibZipTest:testCdDecompressOnInvalidInput() (gas: 1397) LibZipTest:testCdFallback() (gas: 5622174) -LibZipTest:testCdFallback(bytes,uint256) (runs: 314, μ: 1197433, ~: 1062847) -LibZipTest:testCdFallbackDecompressor(bytes) (runs: 314, μ: 121486, ~: 118046) -LibZipTest:testCdFallbackDecompressor(uint256) (runs: 314, μ: 174025, ~: 158204) -LibZipTest:testCdFallbackMaskTrick(uint256,uint256) (runs: 314, μ: 593, ~: 585) -LibZipTest:testDecompressWontRevert(bytes) (runs: 314, μ: 735706, ~: 637644) -LibZipTest:testFlzCompressDecompress() (gas: 1254342) -LibZipTest:testFlzCompressDecompress(bytes) (runs: 314, μ: 775515, ~: 673172) -LibZipTest:testFlzCompressDecompress2() (gas: 763987) -LibZipTest:test__codesize() (gas: 20417) -LifebuoyTest:testLifebuoyCreateDeployment(address,address,uint256) (runs: 314, μ: 2758864, ~: 3117609) -LifebuoyTest:testLifebuoyOwnedCloneRescuePermissions(bytes32) (runs: 314, μ: 922331, ~: 922256) -LifebuoyTest:testLifebuoyOwnedRescuePermissions(bytes32) (runs: 314, μ: 926228, ~: 917633) -LifebuoyTest:testLifebuoyRescuePermissions(bytes32) (runs: 314, μ: 909188, ~: 916541) -LifebuoyTest:testLockEverything() (gas: 645231) -LifebuoyTest:testLockRescue() (gas: 671346) -LifebuoyTest:testLockRescueETH() (gas: 683764) -LifebuoyTest:testRescueERC20(uint256) (runs: 314, μ: 639251, ~: 640765) -LifebuoyTest:testRescueERC721(bytes32) (runs: 314, μ: 637255, ~: 637489) -LifebuoyTest:testRescueETH(uint256) (runs: 314, μ: 647584, ~: 648443) -LifebuoyTest:test__codesize() (gas: 29733) +LibZipTest:testCdFallback(bytes,uint256) (runs: 314, μ: 1211392, ~: 1063332) +LibZipTest:testCdFallbackDecompressor(bytes) (runs: 314, μ: 121484, ~: 118046) +LibZipTest:testCdFallbackDecompressor(uint256) (runs: 314, μ: 171713, ~: 159047) +LibZipTest:testCdFallbackMaskTrick(uint256,uint256) (runs: 314, μ: 592, ~: 585) +LibZipTest:testDecompressWontRevert(bytes) (runs: 314, μ: 774471, ~: 637502) +LibZipTest:testFlzCompressDecompress() (gas: 1254006) +LibZipTest:testFlzCompressDecompress(bytes) (runs: 314, μ: 795715, ~: 673212) +LibZipTest:testFlzCompressDecompress2() (gas: 763375) +LibZipTest:test__codesize() (gas: 20427) +LifebuoyTest:testLifebuoyCreateDeployment(address,address,uint256) (runs: 314, μ: 2754243, ~: 3118182) +LifebuoyTest:testLifebuoyOwnedCloneRescuePermissions(bytes32) (runs: 314, μ: 927449, ~: 927400) +LifebuoyTest:testLifebuoyOwnedRescuePermissions(bytes32) (runs: 314, μ: 932223, ~: 924415) +LifebuoyTest:testLifebuoyRescuePermissions(bytes32) (runs: 314, μ: 912100, ~: 891655) +LifebuoyTest:testLockEverything() (gas: 647068) +LifebuoyTest:testLockRescue() (gas: 673798) +LifebuoyTest:testLockRescueETH() (gas: 685629) +LifebuoyTest:testRescueERC20(uint256) (runs: 314, μ: 641567, ~: 643129) +LifebuoyTest:testRescueERC721(bytes32) (runs: 314, μ: 638643, ~: 638887) +LifebuoyTest:testRescueETH(uint256) (runs: 314, μ: 649972, ~: 650905) +LifebuoyTest:test__codesize() (gas: 29749) MerkleProofLibTest:testEmptyCalldataHelpers() (gas: 985) -MerkleProofLibTest:testVerifyMultiProof(bool,bool,bool,bool,bytes32) (runs: 314, μ: 742571, ~: 640794) +MerkleProofLibTest:testVerifyMultiProof(bool,bool,bool,bool,bytes32) (runs: 314, μ: 736089, ~: 641907) MerkleProofLibTest:testVerifyMultiProofForHeightOneTree(bool,bool,bool,bool,bool,bool[]) (runs: 314, μ: 37829, ~: 39250) MerkleProofLibTest:testVerifyMultiProofForHeightTwoTree(bool,bool,bool,bool,bool,bytes32) (runs: 314, μ: 6506, ~: 6490) -MerkleProofLibTest:testVerifyMultiProofForSingleLeaf(bytes32[],uint256) (runs: 314, μ: 926997, ~: 814804) -MerkleProofLibTest:testVerifyMultiProofIsInvalid() (gas: 638379) -MerkleProofLibTest:testVerifyMultiProofIsValid() (gas: 640255) +MerkleProofLibTest:testVerifyMultiProofForSingleLeaf(bytes32[],uint256) (runs: 314, μ: 900621, ~: 812807) +MerkleProofLibTest:testVerifyMultiProofIsInvalid() (gas: 639725) +MerkleProofLibTest:testVerifyMultiProofIsValid() (gas: 642957) MerkleProofLibTest:testVerifyMultiProofMalicious() (gas: 7918) -MerkleProofLibTest:testVerifyProof(bytes32[],uint256) (runs: 314, μ: 893372, ~: 794724) +MerkleProofLibTest:testVerifyProof(bytes32[],uint256) (runs: 314, μ: 915253, ~: 794802) MerkleProofLibTest:testVerifyProofBasicCase(bool,bool,bool,bytes32) (runs: 314, μ: 4044, ~: 3906) MerkleProofLibTest:testVerifyProofBasicCaseIsInvalid() (gas: 3626) MerkleProofLibTest:testVerifyProofBasicCaseIsValid() (gas: 3590) MerkleProofLibTest:testVerifyProofForHeightOneTree(bool,bool,bool,bool) (runs: 314, μ: 2694, ~: 2968) -MerkleProofLibTest:test__codesize() (gas: 11742) -MetadataReaderLibTest:testBoundsCheckDifferential(uint256) (runs: 314, μ: 25472, ~: 25477) -MetadataReaderLibTest:testReadBytes32String() (gas: 664725) -MetadataReaderLibTest:testReadBytes32StringTruncated() (gas: 775178) -MetadataReaderLibTest:testReadString(uint256) (runs: 314, μ: 838411, ~: 719679) +MerkleProofLibTest:test__codesize() (gas: 11752) +MetadataReaderLibTest:testBoundsCheckDifferential(uint256) (runs: 314, μ: 25476, ~: 25480) +MetadataReaderLibTest:testReadBytes32String() (gas: 667960) +MetadataReaderLibTest:testReadBytes32StringTruncated() (gas: 776395) +MetadataReaderLibTest:testReadString(uint256) (runs: 314, μ: 781531, ~: 720742) MetadataReaderLibTest:testReadStringChopped() (gas: 272350) -MetadataReaderLibTest:testReadStringTruncated(uint256) (runs: 314, μ: 819206, ~: 707230) +MetadataReaderLibTest:testReadStringTruncated(uint256) (runs: 314, μ: 828370, ~: 708569) MetadataReaderLibTest:testReadUint() (gas: 921729) -MetadataReaderLibTest:testReadUint(uint256) (runs: 314, μ: 46700, ~: 47136) -MetadataReaderLibTest:test__codesize() (gas: 8122) -MinHeapLibTest:testHeapEnqueue(uint256) (runs: 314, μ: 182524, ~: 179952) -MinHeapLibTest:testHeapEnqueue2(uint256) (runs: 314, μ: 586652, ~: 432283) +MetadataReaderLibTest:testReadUint(uint256) (runs: 314, μ: 46691, ~: 47133) +MetadataReaderLibTest:test__codesize() (gas: 8132) +MinHeapLibTest:testHeapEnqueue(uint256) (runs: 314, μ: 177801, ~: 176787) +MinHeapLibTest:testHeapEnqueue2(uint256) (runs: 314, μ: 574195, ~: 433860) MinHeapLibTest:testHeapEnqueueGas() (gas: 841356) -MinHeapLibTest:testHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 314, μ: 46672, ~: 28352) +MinHeapLibTest:testHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 314, μ: 47556, ~: 28359) MinHeapLibTest:testHeapPSiftTrick(uint256,uint256,uint256) (runs: 314, μ: 684, ~: 517) -MinHeapLibTest:testHeapPushAndPop(uint256) (runs: 314, μ: 114226, ~: 124777) -MinHeapLibTest:testHeapPushPop(uint256) (runs: 314, μ: 246457, ~: 233342) -MinHeapLibTest:testHeapPushPopLength(uint256) (runs: 314, μ: 962099, ~: 851653) -MinHeapLibTest:testHeapReplace(uint256) (runs: 314, μ: 295376, ~: 301355) -MinHeapLibTest:testHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 314, μ: 44449, ~: 28720) -MinHeapLibTest:testHeapRoot(uint256) (runs: 314, μ: 47018, ~: 37512) -MinHeapLibTest:testHeapSmallest(uint256) (runs: 314, μ: 1341472, ~: 1116824) +MinHeapLibTest:testHeapPushAndPop(uint256) (runs: 314, μ: 110949, ~: 99665) +MinHeapLibTest:testHeapPushPop(uint256) (runs: 314, μ: 253891, ~: 241201) +MinHeapLibTest:testHeapPushPopLength(uint256) (runs: 314, μ: 1009932, ~: 825673) +MinHeapLibTest:testHeapReplace(uint256) (runs: 314, μ: 284095, ~: 269530) +MinHeapLibTest:testHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 314, μ: 45532, ~: 50626) +MinHeapLibTest:testHeapRoot(uint256) (runs: 314, μ: 47651, ~: 47448) +MinHeapLibTest:testHeapSmallest(uint256) (runs: 314, μ: 1382964, ~: 1154154) MinHeapLibTest:testHeapSmallestGas() (gas: 50069382) -MinHeapLibTest:testMemHeapEnqueue(uint256) (runs: 314, μ: 1617072, ~: 944267) -MinHeapLibTest:testMemHeapEnqueue2(uint256) (runs: 314, μ: 870611, ~: 752171) +MinHeapLibTest:testMemHeapEnqueue(uint256) (runs: 314, μ: 1571681, ~: 937507) +MinHeapLibTest:testMemHeapEnqueue2(uint256) (runs: 314, μ: 877511, ~: 742488) MinHeapLibTest:testMemHeapEnqueueGas() (gas: 249458) -MinHeapLibTest:testMemHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 314, μ: 24975, ~: 23896) -MinHeapLibTest:testMemHeapPushAndPop(uint256) (runs: 314, μ: 987370, ~: 836862) +MinHeapLibTest:testMemHeapEnqueueZeroMaxLengthReverts(uint256) (runs: 314, μ: 24966, ~: 23896) +MinHeapLibTest:testMemHeapPushAndPop(uint256) (runs: 314, μ: 917840, ~: 855600) MinHeapLibTest:testMemHeapPushGas() (gas: 35596) -MinHeapLibTest:testMemHeapPushPop(uint256) (runs: 314, μ: 1408880, ~: 1040410) -MinHeapLibTest:testMemHeapPushPopLength(uint256) (runs: 314, μ: 870236, ~: 717875) -MinHeapLibTest:testMemHeapReplace(uint256) (runs: 314, μ: 946600, ~: 803741) -MinHeapLibTest:testMemHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 314, μ: 25711, ~: 25271) -MinHeapLibTest:testMemHeapRoot(uint256) (runs: 314, μ: 753999, ~: 655854) -MinHeapLibTest:testMemHeapSmallest(uint256) (runs: 314, μ: 1001762, ~: 767547) +MinHeapLibTest:testMemHeapPushPop(uint256) (runs: 314, μ: 1100057, ~: 1004100) +MinHeapLibTest:testMemHeapPushPopLength(uint256) (runs: 314, μ: 829377, ~: 711142) +MinHeapLibTest:testMemHeapReplace(uint256) (runs: 314, μ: 907894, ~: 787296) +MinHeapLibTest:testMemHeapReplaceOrPopEmptyHeapReverts(uint256) (runs: 314, μ: 25652, ~: 25257) +MinHeapLibTest:testMemHeapRoot(uint256) (runs: 314, μ: 753672, ~: 655244) +MinHeapLibTest:testMemHeapSmallest(uint256) (runs: 314, μ: 800931, ~: 748397) MinHeapLibTest:testMemHeapSmallestGas() (gas: 2985537) MinHeapLibTest:testMemHeapWriteAndReadFromStorage() (gas: 67756) MinHeapLibTest:testMemHeapWriteAndReadFromStorage2() (gas: 67774) -MinHeapLibTest:test__codesize() (gas: 14576) +MinHeapLibTest:test__codesize() (gas: 14586) MulticallableTest:testMulticallableBenchmark() (gas: 29642) MulticallableTest:testMulticallableOriginalBenchmark() (gas: 38935) MulticallableTest:testMulticallablePreservesMsgSender() (gas: 11166) MulticallableTest:testMulticallableReturnDataIsProperlyEncoded() (gas: 11665) -MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(string,string,uint256) (runs: 314, μ: 12109, ~: 7437) +MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(string,string,uint256) (runs: 314, μ: 12552, ~: 13667) MulticallableTest:testMulticallableReturnDataIsProperlyEncoded(uint256,uint256,uint256,uint256) (runs: 314, μ: 11811, ~: 11811) MulticallableTest:testMulticallableRevertWithCustomError() (gas: 11811) MulticallableTest:testMulticallableRevertWithMessage() (gas: 13483) @@ -1066,52 +1066,52 @@ MulticallableTest:testMulticallableRevertWithNothing() (gas: 11673) MulticallableTest:testMulticallableWithNoData() (gas: 6286) MulticallableTest:test__codesize() (gas: 8867) OwnableRolesTest:testBytecodeSize() (gas: 350635) -OwnableRolesTest:testGrantAndRemoveRolesDirect(address,uint256,uint256) (runs: 314, μ: 41487, ~: 42162) -OwnableRolesTest:testGrantAndRevokeOrRenounceRoles(address,bool,bool,bool,uint256,uint256) (runs: 314, μ: 27966, ~: 28546) -OwnableRolesTest:testGrantRoles() (gas: 36348) -OwnableRolesTest:testHandoverOwnership() (gas: 32807) -OwnableRolesTest:testHandoverOwnership(address) (runs: 314, μ: 32844, ~: 32832) -OwnableRolesTest:testHandoverOwnershipAfterExpiration() (gas: 37152) -OwnableRolesTest:testHandoverOwnershipBeforeExpiration() (gas: 28907) -OwnableRolesTest:testHandoverOwnershipRevertsIfCompleteIsNotOwner() (gas: 35826) -OwnableRolesTest:testHandoverOwnershipWithCancellation() (gas: 31247) -OwnableRolesTest:testHasAllRoles(address,uint256,uint256,uint256,bool) (runs: 314, μ: 34003, ~: 34003) -OwnableRolesTest:testHasAnyRole(address,uint256,uint256) (runs: 314, μ: 33604, ~: 33793) -OwnableRolesTest:testInitializeOwnerDirect() (gas: 16950) +OwnableRolesTest:testGrantAndRemoveRolesDirect(address,uint256,uint256) (runs: 314, μ: 40798, ~: 41513) +OwnableRolesTest:testGrantAndRevokeOrRenounceRoles(address,bool,bool,bool,uint256,uint256) (runs: 314, μ: 27803, ~: 28270) +OwnableRolesTest:testGrantRoles() (gas: 36245) +OwnableRolesTest:testHandoverOwnership() (gas: 32666) +OwnableRolesTest:testHandoverOwnership(address) (runs: 314, μ: 32707, ~: 32692) +OwnableRolesTest:testHandoverOwnershipAfterExpiration() (gas: 37061) +OwnableRolesTest:testHandoverOwnershipBeforeExpiration() (gas: 28834) +OwnableRolesTest:testHandoverOwnershipRevertsIfCompleteIsNotOwner() (gas: 35735) +OwnableRolesTest:testHandoverOwnershipWithCancellation() (gas: 31038) +OwnableRolesTest:testHasAllRoles(address,uint256,uint256,uint256,bool) (runs: 314, μ: 33801, ~: 33798) +OwnableRolesTest:testHasAnyRole(address,uint256,uint256) (runs: 314, μ: 33407, ~: 33598) +OwnableRolesTest:testInitializeOwnerDirect() (gas: 16859) OwnableRolesTest:testOnlyOwnerModifier(address,bool) (runs: 314, μ: 21077, ~: 30023) -OwnableRolesTest:testOnlyOwnerOrRolesModifier() (gas: 36455) -OwnableRolesTest:testOnlyOwnerOrRolesModifier(address,bool,uint256,uint256) (runs: 314, μ: 55644, ~: 55319) -OwnableRolesTest:testOnlyRolesModifier(address,uint256,uint256) (runs: 314, μ: 56332, ~: 58115) -OwnableRolesTest:testOnlyRolesOrOwnerModifier(address,bool,uint256,uint256) (runs: 314, μ: 56607, ~: 57486) +OwnableRolesTest:testOnlyOwnerOrRolesModifier() (gas: 36347) +OwnableRolesTest:testOnlyOwnerOrRolesModifier(address,bool,uint256,uint256) (runs: 314, μ: 55607, ~: 55219) +OwnableRolesTest:testOnlyRolesModifier(address,uint256,uint256) (runs: 314, μ: 56089, ~: 58012) +OwnableRolesTest:testOnlyRolesOrOwnerModifier(address,bool,uint256,uint256) (runs: 314, μ: 56570, ~: 57386) OwnableRolesTest:testOrdinalsFromRoles() (gas: 3756443) -OwnableRolesTest:testOrdinalsFromRoles(uint256) (runs: 314, μ: 58720, ~: 42265) +OwnableRolesTest:testOrdinalsFromRoles(uint256) (runs: 314, μ: 58317, ~: 39941) OwnableRolesTest:testOwnershipHandoverValidForDefaultValue() (gas: 5825) OwnableRolesTest:testRenounceOwnership() (gas: 12945) OwnableRolesTest:testRolesFromOrdinals() (gas: 652364) OwnableRolesTest:testRolesFromOrdinals(uint8[]) (runs: 314, μ: 81676, ~: 85587) -OwnableRolesTest:testSetOwnerDirect() (gas: 18019) -OwnableRolesTest:testSetOwnerDirect(address) (runs: 314, μ: 18124, ~: 18139) -OwnableRolesTest:testSetRolesDirect(uint256) (runs: 314, μ: 101499, ~: 101614) -OwnableRolesTest:testTransferOwnership() (gas: 19549) -OwnableRolesTest:testTransferOwnership(address,bool,bool) (runs: 314, μ: 14422, ~: 12589) -OwnableRolesTest:test__codesize() (gas: 21146) +OwnableRolesTest:testSetOwnerDirect() (gas: 17923) +OwnableRolesTest:testSetOwnerDirect(address) (runs: 314, μ: 18032, ~: 18048) +OwnableRolesTest:testSetRolesDirect(uint256) (runs: 314, μ: 100739, ~: 100857) +OwnableRolesTest:testTransferOwnership() (gas: 19458) +OwnableRolesTest:testTransferOwnership(address,bool,bool) (runs: 314, μ: 14332, ~: 12498) +OwnableRolesTest:test__codesize() (gas: 21140) OwnableTest:testBytecodeSize() (gas: 235158) -OwnableTest:testHandoverOwnership() (gas: 32465) -OwnableTest:testHandoverOwnership(address) (runs: 314, μ: 32485, ~: 32472) -OwnableTest:testHandoverOwnershipAfterExpiration() (gas: 36930) -OwnableTest:testHandoverOwnershipBeforeExpiration() (gas: 28756) -OwnableTest:testHandoverOwnershipRevertsIfCompleteIsNotOwner() (gas: 35560) -OwnableTest:testHandoverOwnershipWithCancellation() (gas: 30890) -OwnableTest:testInitializeOwnerDirect() (gas: 16825) +OwnableTest:testHandoverOwnership() (gas: 32324) +OwnableTest:testHandoverOwnership(address) (runs: 314, μ: 32347, ~: 32333) +OwnableTest:testHandoverOwnershipAfterExpiration() (gas: 36839) +OwnableTest:testHandoverOwnershipBeforeExpiration() (gas: 28683) +OwnableTest:testHandoverOwnershipRevertsIfCompleteIsNotOwner() (gas: 35469) +OwnableTest:testHandoverOwnershipWithCancellation() (gas: 30681) +OwnableTest:testInitializeOwnerDirect() (gas: 16734) OwnableTest:testOnlyOwnerModifier(address,bool) (runs: 314, μ: 21024, ~: 30001) OwnableTest:testOwnershipHandoverValidForDefaultValue() (gas: 5737) OwnableTest:testRenounceOwnership() (gas: 12779) -OwnableTest:testSetOwnerDirect() (gas: 17929) -OwnableTest:testSetOwnerDirect(address) (runs: 314, μ: 18019, ~: 18050) -OwnableTest:testTransferOwnership() (gas: 19446) -OwnableTest:testTransferOwnership(address,bool,bool) (runs: 314, μ: 14248, ~: 12395) -OwnableTest:test__codesize() (gas: 10746) -P256Test:testP256Verify(uint256,bytes32) (runs: 314, μ: 493372, ~: 493089) +OwnableTest:testSetOwnerDirect() (gas: 17833) +OwnableTest:testSetOwnerDirect(address) (runs: 314, μ: 17928, ~: 17959) +OwnableTest:testTransferOwnership() (gas: 19355) +OwnableTest:testTransferOwnership(address,bool,bool) (runs: 314, μ: 14131, ~: 12304) +OwnableTest:test__codesize() (gas: 10740) +P256Test:testP256Verify(uint256,bytes32) (runs: 314, μ: 493352, ~: 493114) P256Test:testP256VerifyMalleableRIPPrecompile() (gas: 341155) P256Test:testP256VerifyMalleableVerifier() (gas: 341175) P256Test:testP256VerifyNonMalleableRIPPrecompile() (gas: 341117) @@ -1121,15 +1121,15 @@ P256Test:testP256VerifyOutOfBounds() (gas: 201377) P256Test:testP256VerifyWycheproof() (gas: 3268) P256Test:test__codesize() (gas: 11373) ReceiverTest:testETHReceived() (gas: 9643) -ReceiverTest:testOnERC1155BatchReceived() (gas: 49754) -ReceiverTest:testOnERC1155Received() (gas: 47428) -ReceiverTest:testOnERC721Received() (gas: 65589) +ReceiverTest:testOnERC1155BatchReceived() (gas: 49387) +ReceiverTest:testOnERC1155Received() (gas: 47119) +ReceiverTest:testOnERC721Received() (gas: 65082) ReceiverTest:test__codesize() (gas: 3053) RedBlackTreeLibTest:testRedBlackTreeBenchUint160() (gas: 3428194) RedBlackTreeLibTest:testRedBlackTreeBenchUint256() (gas: 5841865) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 314, μ: 569609, ~: 565522) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 314, μ: 418171, ~: 422473) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove3() (gas: 21564928) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 314, μ: 560276, ~: 536964) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 314, μ: 433206, ~: 449457) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove3() (gas: 21556385) RedBlackTreeLibTest:testRedBlackTreeInsertBenchStep() (gas: 3702908) RedBlackTreeLibTest:testRedBlackTreeInsertBenchUint160() (gas: 3468526) RedBlackTreeLibTest:testRedBlackTreeInsertBenchUint256() (gas: 6368146) @@ -1137,17 +1137,17 @@ RedBlackTreeLibTest:testRedBlackTreeInsertOneGas() (gas: 45558) RedBlackTreeLibTest:testRedBlackTreeInsertTenGas() (gas: 282691) RedBlackTreeLibTest:testRedBlackTreeInsertThreeGas() (gas: 96175) RedBlackTreeLibTest:testRedBlackTreeInsertTwoGas() (gas: 69785) -RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 314, μ: 251951, ~: 246543) -RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 314, μ: 247920, ~: 227275) -RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 314, μ: 267638, ~: 251640) +RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 314, μ: 253406, ~: 248620) +RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 314, μ: 255822, ~: 243926) +RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 314, μ: 285743, ~: 283485) RedBlackTreeLibTest:testRedBlackTreePointers() (gas: 91643) RedBlackTreeLibTest:testRedBlackTreeRejectsEmptyValue() (gas: 3232) RedBlackTreeLibTest:testRedBlackTreeRemoveViaPointer() (gas: 58157) RedBlackTreeLibTest:testRedBlackTreeTreeFullReverts() (gas: 50317) RedBlackTreeLibTest:testRedBlackTreeTryInsertAndRemove() (gas: 56062) -RedBlackTreeLibTest:testRedBlackTreeValues() (gas: 188809) -RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 314, μ: 390873, ~: 244003) -RedBlackTreeLibTest:test__codesize() (gas: 13203) +RedBlackTreeLibTest:testRedBlackTreeValues() (gas: 188710) +RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 314, μ: 403314, ~: 240743) +RedBlackTreeLibTest:test__codesize() (gas: 13223) ReentrancyGuardTest:testRecursiveDirectUnguardedCall() (gas: 34276) ReentrancyGuardTest:testRecursiveIndirectUnguardedCall() (gas: 47727) ReentrancyGuardTest:testRevertGuardLocked() (gas: 53939) @@ -1156,20 +1156,20 @@ ReentrancyGuardTest:testRevertRecursiveDirectGuardedCall() (gas: 55123) ReentrancyGuardTest:testRevertRecursiveIndirectGuardedCall() (gas: 56529) ReentrancyGuardTest:testRevertRemoteCallback() (gas: 56230) ReentrancyGuardTest:test__codesize() (gas: 4403) -SSTORE2Test:testReadRevertsOnZeroCodeAddress(address) (runs: 314, μ: 93996, ~: 30000) +SSTORE2Test:testReadRevertsOnZeroCodeAddress(address) (runs: 314, μ: 82643, ~: 30000) SSTORE2Test:testReadSlicing() (gas: 48874) SSTORE2Test:testWriteRead() (gas: 35880) -SSTORE2Test:testWriteRead(uint256,uint256) (runs: 314, μ: 1116529, ~: 67190) -SSTORE2Test:testWriteReadCounterfactual(bytes,bytes32,address) (runs: 314, μ: 4428198, ~: 108268) +SSTORE2Test:testWriteRead(uint256,uint256) (runs: 314, μ: 1132398, ~: 67315) +SSTORE2Test:testWriteReadCounterfactual(bytes,bytes32,address) (runs: 314, μ: 4428216, ~: 108268) SSTORE2Test:testWriteReadCustomBounds() (gas: 33936) SSTORE2Test:testWriteReadCustomStartBound() (gas: 34020) SSTORE2Test:testWriteReadDeterministic() (gas: 70156) -SSTORE2Test:testWriteReadDeterministic(bytes,bytes32) (runs: 314, μ: 4106224, ~: 96934) +SSTORE2Test:testWriteReadDeterministic(bytes,bytes32) (runs: 314, μ: 3797877, ~: 96825) SSTORE2Test:testWriteReadEmptyBound() (gas: 33734) SSTORE2Test:testWriteReadFullBoundedRead() (gas: 35937) SSTORE2Test:testWriteReadFullStartBound() (gas: 33983) SSTORE2Test:testWriteWithTooBigDataReverts() (gas: 97303641) -SSTORE2Test:test__codesize() (gas: 8624) +SSTORE2Test:test__codesize() (gas: 8628) SafeCastLibTest:testSafeCastInt256ToInt(int256,uint256) (runs: 314, μ: 19029, ~: 24771) SafeCastLibTest:testSafeCastInt256ToIntBench() (gas: 341694) SafeCastLibTest:testSafeCastInt256ToIntTrickEquivalence(int256) (runs: 314, μ: 406, ~: 406) @@ -1181,89 +1181,89 @@ SafeCastLibTest:testSafeCastUint256ToIntBench() (gas: 330222) SafeCastLibTest:testSafeCastUint256ToUintBench() (gas: 326262) SafeCastLibTest:testSafeCastUintToUint(uint256,uint256) (runs: 314, μ: 19108, ~: 24811) SafeCastLibTest:test__codesize() (gas: 23416) -SafeTransferLibTest:testApproveWithGarbageReverts(address,uint256) (runs: 314, μ: 110741, ~: 124067) -SafeTransferLibTest:testApproveWithMissingReturn() (gas: 32462) -SafeTransferLibTest:testApproveWithMissingReturn(address,uint256) (runs: 314, μ: 32556, ~: 32682) +SafeTransferLibTest:testApproveWithGarbageReverts(address,uint256) (runs: 314, μ: 110541, ~: 123852) +SafeTransferLibTest:testApproveWithMissingReturn() (gas: 32264) +SafeTransferLibTest:testApproveWithMissingReturn(address,uint256) (runs: 314, μ: 32352, ~: 32479) SafeTransferLibTest:testApproveWithNonContract() (gas: 2967) -SafeTransferLibTest:testApproveWithNonContract(address,address,uint256) (runs: 314, μ: 3753, ~: 3825) -SafeTransferLibTest:testApproveWithNonGarbage(address,uint256) (runs: 314, μ: 79851, ~: 59765) -SafeTransferLibTest:testApproveWithRetry() (gas: 790140) -SafeTransferLibTest:testApproveWithRetry(address,uint256,uint256) (runs: 314, μ: 790040, ~: 790310) +SafeTransferLibTest:testApproveWithNonContract(address,address,uint256) (runs: 314, μ: 3641, ~: 3710) +SafeTransferLibTest:testApproveWithNonGarbage(address,uint256) (runs: 314, μ: 81406, ~: 101885) +SafeTransferLibTest:testApproveWithRetry() (gas: 788579) +SafeTransferLibTest:testApproveWithRetry(address,uint256,uint256) (runs: 314, μ: 788432, ~: 788700) SafeTransferLibTest:testApproveWithRetryWithNonContract() (gas: 2990) -SafeTransferLibTest:testApproveWithRetryWithNonContract(address,address,uint256) (runs: 314, μ: 3772, ~: 3844) -SafeTransferLibTest:testApproveWithReturnsFalseReverts() (gas: 10122) -SafeTransferLibTest:testApproveWithReturnsFalseReverts(address,uint256) (runs: 314, μ: 10276, ~: 10275) -SafeTransferLibTest:testApproveWithReturnsTooLittleReverts() (gas: 10026) -SafeTransferLibTest:testApproveWithReturnsTooLittleReverts(address,uint256) (runs: 314, μ: 10205, ~: 10204) -SafeTransferLibTest:testApproveWithReturnsTooMuch() (gas: 32913) -SafeTransferLibTest:testApproveWithReturnsTooMuch(address,uint256) (runs: 314, μ: 32940, ~: 33066) -SafeTransferLibTest:testApproveWithReturnsTwoReverts(address,uint256) (runs: 314, μ: 10233, ~: 10232) -SafeTransferLibTest:testApproveWithRevertingReverts() (gas: 9983) -SafeTransferLibTest:testApproveWithRevertingReverts(address,uint256) (runs: 314, μ: 10194, ~: 10193) -SafeTransferLibTest:testApproveWithStandardERC20() (gas: 32348) -SafeTransferLibTest:testApproveWithStandardERC20(address,uint256) (runs: 314, μ: 32444, ~: 32570) +SafeTransferLibTest:testApproveWithRetryWithNonContract(address,address,uint256) (runs: 314, μ: 3660, ~: 3729) +SafeTransferLibTest:testApproveWithReturnsFalseReverts() (gas: 9907) +SafeTransferLibTest:testApproveWithReturnsFalseReverts(address,uint256) (runs: 314, μ: 10060, ~: 10060) +SafeTransferLibTest:testApproveWithReturnsTooLittleReverts() (gas: 9811) +SafeTransferLibTest:testApproveWithReturnsTooLittleReverts(address,uint256) (runs: 314, μ: 9989, ~: 9989) +SafeTransferLibTest:testApproveWithReturnsTooMuch() (gas: 32705) +SafeTransferLibTest:testApproveWithReturnsTooMuch(address,uint256) (runs: 314, μ: 32736, ~: 32863) +SafeTransferLibTest:testApproveWithReturnsTwoReverts(address,uint256) (runs: 314, μ: 10017, ~: 10017) +SafeTransferLibTest:testApproveWithRevertingReverts() (gas: 9768) +SafeTransferLibTest:testApproveWithRevertingReverts(address,uint256) (runs: 314, μ: 9978, ~: 9978) +SafeTransferLibTest:testApproveWithStandardERC20() (gas: 32145) +SafeTransferLibTest:testApproveWithStandardERC20(address,uint256) (runs: 314, μ: 32240, ~: 32367) SafeTransferLibTest:testBalanceOfStandardERC20() (gas: 7852) -SafeTransferLibTest:testBalanceOfStandardERC20(address,uint256) (runs: 314, μ: 37744, ~: 38062) +SafeTransferLibTest:testBalanceOfStandardERC20(address,uint256) (runs: 314, μ: 37529, ~: 37777) SafeTransferLibTest:testForceTransferETHToGriever() (gas: 1511587) -SafeTransferLibTest:testForceTransferETHToGriever(uint256,uint256) (runs: 314, μ: 533137, ~: 570885) -SafeTransferLibTest:testPermit2() (gas: 90097) -SafeTransferLibTest:testPermit2InvalidAmount(uint256) (runs: 314, μ: 103407, ~: 103354) -SafeTransferLibTest:testPermit2OnDAI() (gas: 90296) -SafeTransferLibTest:testPermit2TransferFromInvalidAmount(uint256) (runs: 314, μ: 137473, ~: 137834) -SafeTransferLibTest:testSimplePermit2AndPermit2TransferFrom() (gas: 1136342) -SafeTransferLibTest:testSimplePermit2AndPermit2TransferFromGas() (gas: 141122) +SafeTransferLibTest:testForceTransferETHToGriever(uint256,uint256) (runs: 314, μ: 531582, ~: 570885) +SafeTransferLibTest:testPermit2() (gas: 89328) +SafeTransferLibTest:testPermit2InvalidAmount(uint256) (runs: 314, μ: 102544, ~: 102483) +SafeTransferLibTest:testPermit2OnDAI() (gas: 89525) +SafeTransferLibTest:testPermit2TransferFromInvalidAmount(uint256) (runs: 314, μ: 136288, ~: 136650) +SafeTransferLibTest:testSimplePermit2AndPermit2TransferFrom() (gas: 1124937) +SafeTransferLibTest:testSimplePermit2AndPermit2TransferFromGas() (gas: 140072) SafeTransferLibTest:testTransferAllETH() (gas: 34643) SafeTransferLibTest:testTransferAllETH(bytes32) (runs: 314, μ: 57052, ~: 57052) SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts() (gas: 10782) SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts(uint256) (runs: 314, μ: 10869, ~: 10869) -SafeTransferLibTest:testTransferAllFromWithStandardERC20() (gas: 33702) -SafeTransferLibTest:testTransferAllFromWithStandardERC20(address,address,uint256) (runs: 314, μ: 58285, ~: 58269) -SafeTransferLibTest:testTransferAllWithStandardERC20() (gas: 31014) -SafeTransferLibTest:testTransferAllWithStandardERC20(address,uint256) (runs: 314, μ: 40084, ~: 40082) +SafeTransferLibTest:testTransferAllFromWithStandardERC20() (gas: 33498) +SafeTransferLibTest:testTransferAllFromWithStandardERC20(address,address,uint256) (runs: 314, μ: 57476, ~: 57460) +SafeTransferLibTest:testTransferAllWithStandardERC20() (gas: 30917) +SafeTransferLibTest:testTransferAllWithStandardERC20(address,uint256) (runs: 314, μ: 39777, ~: 39706) SafeTransferLibTest:testTransferETH() (gas: 34622) -SafeTransferLibTest:testTransferETH(bytes32,uint256) (runs: 314, μ: 57089, ~: 57320) +SafeTransferLibTest:testTransferETH(bytes32,uint256) (runs: 314, μ: 57189, ~: 57320) SafeTransferLibTest:testTransferETHToContractWithoutFallbackReverts() (gas: 10851) SafeTransferLibTest:testTransferETHToContractWithoutFallbackReverts(uint256) (runs: 314, μ: 10720, ~: 10888) -SafeTransferLibTest:testTransferFromWithGarbageReverts(address,address,uint256) (runs: 314, μ: 737043, ~: 656160) -SafeTransferLibTest:testTransferFromWithMissingReturn() (gas: 542453) -SafeTransferLibTest:testTransferFromWithMissingReturn(address,address,uint256) (runs: 314, μ: 648726, ~: 543314) +SafeTransferLibTest:testTransferFromWithGarbageReverts(address,address,uint256) (runs: 314, μ: 867238, ~: 790714) +SafeTransferLibTest:testTransferFromWithMissingReturn() (gas: 1368063) +SafeTransferLibTest:testTransferFromWithMissingReturn(address,address,uint256) (runs: 314, μ: 739950, ~: 677601) SafeTransferLibTest:testTransferFromWithNonContract() (gas: 3066) -SafeTransferLibTest:testTransferFromWithNonContract(address,address,address,uint256) (runs: 314, μ: 4254, ~: 4288) -SafeTransferLibTest:testTransferFromWithNonGarbage(address,address,uint256) (runs: 314, μ: 743879, ~: 593491) -SafeTransferLibTest:testTransferFromWithReturnsFalseReverts() (gas: 508851) -SafeTransferLibTest:testTransferFromWithReturnsFalseReverts(address,address,uint256) (runs: 314, μ: 582829, ~: 509171) -SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts() (gas: 508583) -SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts(address,address,uint256) (runs: 314, μ: 589986, ~: 509001) -SafeTransferLibTest:testTransferFromWithReturnsTooMuch() (gas: 543405) -SafeTransferLibTest:testTransferFromWithReturnsTooMuch(address,address,uint256) (runs: 314, μ: 630968, ~: 544121) -SafeTransferLibTest:testTransferFromWithReturnsTwoReverts(address,address,uint256) (runs: 314, μ: 600639, ~: 509144) -SafeTransferLibTest:testTransferFromWithRevertingReverts() (gas: 501317) -SafeTransferLibTest:testTransferFromWithRevertingReverts(address,address,uint256) (runs: 314, μ: 542778, ~: 501833) -SafeTransferLibTest:testTransferFromWithStandardERC20() (gas: 541616) -SafeTransferLibTest:testTransferFromWithStandardERC20(address,address,uint256) (runs: 314, μ: 623515, ~: 541449) -SafeTransferLibTest:testTransferWithGarbageReverts(address,uint256) (runs: 314, μ: 749013, ~: 623072) -SafeTransferLibTest:testTransferWithMissingReturn() (gas: 529120) -SafeTransferLibTest:testTransferWithMissingReturn(address,uint256) (runs: 314, μ: 580988, ~: 529480) +SafeTransferLibTest:testTransferFromWithNonContract(address,address,address,uint256) (runs: 314, μ: 4013, ~: 4055) +SafeTransferLibTest:testTransferFromWithNonGarbage(address,address,uint256) (runs: 314, μ: 786488, ~: 727670) +SafeTransferLibTest:testTransferFromWithReturnsFalseReverts() (gas: 643412) +SafeTransferLibTest:testTransferFromWithReturnsFalseReverts(address,address,uint256) (runs: 314, μ: 785109, ~: 643569) +SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts() (gas: 642901) +SafeTransferLibTest:testTransferFromWithReturnsTooLittleReverts(address,address,uint256) (runs: 314, μ: 725629, ~: 643404) +SafeTransferLibTest:testTransferFromWithReturnsTooMuch() (gas: 677698) +SafeTransferLibTest:testTransferFromWithReturnsTooMuch(address,address,uint256) (runs: 314, μ: 798118, ~: 678372) +SafeTransferLibTest:testTransferFromWithReturnsTwoReverts(address,address,uint256) (runs: 314, μ: 723492, ~: 643450) +SafeTransferLibTest:testTransferFromWithRevertingReverts() (gas: 636279) +SafeTransferLibTest:testTransferFromWithRevertingReverts(address,address,uint256) (runs: 314, μ: 731575, ~: 636357) +SafeTransferLibTest:testTransferFromWithStandardERC20() (gas: 675724) +SafeTransferLibTest:testTransferFromWithStandardERC20(address,address,uint256) (runs: 314, μ: 787756, ~: 675796) +SafeTransferLibTest:testTransferWithGarbageReverts(address,uint256) (runs: 314, μ: 862196, ~: 755171) +SafeTransferLibTest:testTransferWithMissingReturn() (gas: 663634) +SafeTransferLibTest:testTransferWithMissingReturn(address,uint256) (runs: 314, μ: 785465, ~: 663942) SafeTransferLibTest:testTransferWithNonContract() (gas: 3010) -SafeTransferLibTest:testTransferWithNonContract(bytes32,address,uint256) (runs: 314, μ: 26314, ~: 26313) -SafeTransferLibTest:testTransferWithNonGarbage(address,uint256) (runs: 314, μ: 704057, ~: 598672) -SafeTransferLibTest:testTransferWithReturnsFalseReverts() (gas: 505938) -SafeTransferLibTest:testTransferWithReturnsFalseReverts(address,uint256) (runs: 314, μ: 622159, ~: 505935) -SafeTransferLibTest:testTransferWithReturnsTooLittleReverts() (gas: 505526) -SafeTransferLibTest:testTransferWithReturnsTooLittleReverts(address,uint256) (runs: 314, μ: 594331, ~: 505859) -SafeTransferLibTest:testTransferWithReturnsTooMuch() (gas: 529897) -SafeTransferLibTest:testTransferWithReturnsTooMuch(address,uint256) (runs: 314, μ: 642996, ~: 529975) -SafeTransferLibTest:testTransferWithReturnsTwoReverts(address,uint256) (runs: 314, μ: 602965, ~: 505935) -SafeTransferLibTest:testTransferWithRevertingReverts() (gas: 776726) -SafeTransferLibTest:testTransferWithRevertingReverts(address,uint256) (runs: 314, μ: 593423, ~: 505833) -SafeTransferLibTest:testTransferWithStandardERC20() (gas: 529956) -SafeTransferLibTest:testTransferWithStandardERC20(address,uint256) (runs: 314, μ: 649600, ~: 529932) -SafeTransferLibTest:testTrySafeTransferFrom(address,address,uint256) (runs: 314, μ: 108961, ~: 112161) +SafeTransferLibTest:testTransferWithNonContract(bytes32,address,uint256) (runs: 314, μ: 26114, ~: 26113) +SafeTransferLibTest:testTransferWithNonGarbage(address,uint256) (runs: 314, μ: 833045, ~: 719569) +SafeTransferLibTest:testTransferWithReturnsFalseReverts() (gas: 2188344) +SafeTransferLibTest:testTransferWithReturnsFalseReverts(address,uint256) (runs: 314, μ: 760095, ~: 640394) +SafeTransferLibTest:testTransferWithReturnsTooLittleReverts() (gas: 640404) +SafeTransferLibTest:testTransferWithReturnsTooLittleReverts(address,uint256) (runs: 314, μ: 731573, ~: 640283) +SafeTransferLibTest:testTransferWithReturnsTooMuch() (gas: 663909) +SafeTransferLibTest:testTransferWithReturnsTooMuch(address,uint256) (runs: 314, μ: 758807, ~: 664404) +SafeTransferLibTest:testTransferWithReturnsTwoReverts(address,uint256) (runs: 314, μ: 742900, ~: 640359) +SafeTransferLibTest:testTransferWithRevertingReverts() (gas: 4333703) +SafeTransferLibTest:testTransferWithRevertingReverts(address,uint256) (runs: 314, μ: 729490, ~: 640287) +SafeTransferLibTest:testTransferWithStandardERC20() (gas: 663943) +SafeTransferLibTest:testTransferWithStandardERC20(address,uint256) (runs: 314, μ: 784623, ~: 664297) +SafeTransferLibTest:testTrySafeTransferFrom(address,address,uint256) (runs: 314, μ: 108494, ~: 111855) SafeTransferLibTest:testTryTransferAllETH() (gas: 148698) SafeTransferLibTest:testTryTransferETH() (gas: 148701) SafeTransferLibTest:testTryTransferETHWithNoGrief() (gas: 537025) SafeTransferLibTest:testTryTransferETHWithNoStorageWrites() (gas: 192444) -SafeTransferLibTest:test__codesize() (gas: 65975) +SafeTransferLibTest:test__codesize() (gas: 65916) SignatureCheckerLibTest:testERC6492AllowSideEffectsPostDeploy() (gas: 444549) SignatureCheckerLibTest:testERC6492AllowSideEffectsPreDeploy() (gas: 450571) SignatureCheckerLibTest:testERC6492PostDeploy() (gas: 495933) @@ -1271,7 +1271,7 @@ SignatureCheckerLibTest:testERC6492PreDeploy() (gas: 1227033) SignatureCheckerLibTest:testERC6492WithoutRevertingVerifier() (gas: 61874) SignatureCheckerLibTest:testEmptyCalldataHelpers() (gas: 3987) SignatureCheckerLibTest:testEtchERC6492RevertingVerifier() (gas: 56459) -SignatureCheckerLibTest:testSignatureChecker(bytes32) (runs: 314, μ: 56177, ~: 45511) +SignatureCheckerLibTest:testSignatureChecker(bytes32) (runs: 314, μ: 55413, ~: 45511) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithInvalidSignature() (gas: 21300) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithInvalidSigner() (gas: 30800) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithMatchingSignerAndSignature() (gas: 17697) @@ -1287,36 +1287,36 @@ SignatureCheckerLibTest:testToEthSignedMessageHashDifferential(bytes32) (runs: 3 SignatureCheckerLibTest:test__codesize() (gas: 15448) SoladyTest:test__codesize() (gas: 840) TestPlus:test__codesize() (gas: 406) -TestPlusrTest:testRandomUnique(bytes32,bytes32) (runs: 314, μ: 113688, ~: 113690) -TestPlusrTest:testRandomUniqueAddress(bytes32,bytes32) (runs: 314, μ: 113405, ~: 113371) +TestPlusrTest:testRandomUnique(bytes32,bytes32) (runs: 314, μ: 113696, ~: 113692) +TestPlusrTest:testRandomUniqueAddress(bytes32,bytes32) (runs: 314, μ: 113408, ~: 113371) TestPlusrTest:test__codesize() (gas: 2162) UUPSUpgradeableTest:testNotDelegatedGuard() (gas: 15875) -UUPSUpgradeableTest:testOnlyProxyGuard() (gas: 9217) -UUPSUpgradeableTest:testUpgradeTo() (gas: 293313) -UUPSUpgradeableTest:testUpgradeToAndCall() (gas: 315586) -UUPSUpgradeableTest:testUpgradeToAndCallRevertWithCustomError() (gas: 292574) -UUPSUpgradeableTest:testUpgradeToAndCallRevertWithUnauthorized() (gas: 16258) -UUPSUpgradeableTest:testUpgradeToAndCallRevertWithUpgradeFailed() (gas: 18631) -UUPSUpgradeableTest:testUpgradeToRevertWithUnauthorized() (gas: 16470) -UUPSUpgradeableTest:testUpgradeToRevertWithUpgradeFailed() (gas: 18819) -UUPSUpgradeableTest:test__codesize() (gas: 6059) +UUPSUpgradeableTest:testOnlyProxyGuard() (gas: 9102) +UUPSUpgradeableTest:testUpgradeTo() (gas: 291998) +UUPSUpgradeableTest:testUpgradeToAndCall() (gas: 314256) +UUPSUpgradeableTest:testUpgradeToAndCallRevertWithCustomError() (gas: 291256) +UUPSUpgradeableTest:testUpgradeToAndCallRevertWithUnauthorized() (gas: 16149) +UUPSUpgradeableTest:testUpgradeToAndCallRevertWithUpgradeFailed() (gas: 18516) +UUPSUpgradeableTest:testUpgradeToRevertWithUnauthorized() (gas: 16361) +UUPSUpgradeableTest:testUpgradeToRevertWithUpgradeFailed() (gas: 18704) +UUPSUpgradeableTest:test__codesize() (gas: 6053) UpgradeableBeaconTest:testInitializeUpgradeableSolidityBeacon() (gas: 296434) UpgradeableBeaconTest:testInitializeUpgradeableYulBeacon() (gas: 335455) -UpgradeableBeaconTest:testUpgradeableBeacon(uint256) (runs: 314, μ: 245900, ~: 255829) +UpgradeableBeaconTest:testUpgradeableBeacon(uint256) (runs: 314, μ: 245921, ~: 255829) UpgradeableBeaconTest:testUpgradeableSolidityBeaconOnlyFnSelectorNotRecognised() (gas: 234560) UpgradeableBeaconTest:testUpgradeableSolidityBeaconOnlyOwnerFunctions() (gas: 260339) UpgradeableBeaconTest:testUpgradeableYulBeaconOnlyFnSelectorNotRecognised() (gas: 172796) UpgradeableBeaconTest:testUpgradeableYulBeaconOnlyOwnerFunctions() (gas: 198279) UpgradeableBeaconTest:test__codesize() (gas: 8511) -WETHInvariants:invariantTotalSupplyEqualsBalance() (runs: 10, calls: 150, reverts: 65) +WETHInvariants:invariantTotalSupplyEqualsBalance() (runs: 10, calls: 150, reverts: 81) WETHInvariants:test__codesize() (gas: 5178) WETHTest:testDeposit() (gas: 62272) -WETHTest:testDeposit(uint256) (runs: 314, μ: 61447, ~: 62566) +WETHTest:testDeposit(uint256) (runs: 314, μ: 61301, ~: 62566) WETHTest:testFallbackDeposit() (gas: 61978) -WETHTest:testFallbackDeposit(uint256) (runs: 314, μ: 61108, ~: 62227) +WETHTest:testFallbackDeposit(uint256) (runs: 314, μ: 60962, ~: 62227) WETHTest:testMetadata() (gas: 9013) WETHTest:testPartialWithdraw() (gas: 70422) WETHTest:testWithdraw() (gas: 52047) -WETHTest:testWithdraw(uint256,uint256) (runs: 314, μ: 69914, ~: 71175) +WETHTest:testWithdraw(uint256,uint256) (runs: 314, μ: 69978, ~: 71175) WETHTest:testWithdrawToContractWithoutReceiveReverts() (gas: 90164) WETHTest:test__codesize() (gas: 9410) \ No newline at end of file diff --git a/test/utils/Brutalizer.sol b/test/utils/Brutalizer.sol index ed0e28ee7..05d07f485 100644 --- a/test/utils/Brutalizer.sol +++ b/test/utils/Brutalizer.sol @@ -23,14 +23,13 @@ contract Brutalizer { /// @solidity memory-safe-assembly assembly { let offset := mload(0x40) // Start the offset at the free memory pointer. - calldatacopy(add(offset, 0x20), zero, calldatasize()) - mstore(offset, add(caller(), gas())) + calldatacopy(offset, zero, calldatasize()) // Fill the 64 bytes of scratch space with garbage. - let r := keccak256(offset, add(calldatasize(), 0x40)) - mstore(zero, r) - mstore(0x20, keccak256(zero, 0x40)) - r := mulmod(mload(0x10), _LPRNG_MULTIPLIER, _LPRNG_MODULO) + let r := keccak256(offset, calldatasize()) + mstore(zero, mulmod(xor(r, gas()), _LPRNG_MULTIPLIER, _LPRNG_MODULO)) + r := mulmod(xor(r, caller()), _LPRNG_MULTIPLIER, _LPRNG_MODULO) + mstore(0x20, r) let cSize := add(codesize(), iszero(codesize())) if iszero(lt(cSize, 32)) { cSize := sub(cSize, and(mload(0x02), 0x1f)) } @@ -57,8 +56,7 @@ contract Brutalizer { times := add(times, w) // `sub(times, 1)`. if iszero(times) { break } } - // With a 1/16 chance, copy the contract's code to the scratch space. - if iszero(and(0xf00, r)) { + if iszero(and(0x300, r)) { codecopy(0x00, mod(shr(128, r), add(codesize(), codesize())), 0x40) mstore8(and(r, 0x3f), iszero(and(0x100000, r))) } @@ -75,16 +73,15 @@ contract Brutalizer { uint256 zero; /// @solidity memory-safe-assembly assembly { - let offset := mload(0x40) // Start the offset at the free memory pointer. - calldatacopy(add(offset, 0x20), zero, calldatasize()) - mstore(offset, add(caller(), gas())) - + calldatacopy(0x1c, zero, 0x24) + mstore(0x00, add(gas(), mload(0x00))) // Fill the 64 bytes of scratch space with garbage. - let r := keccak256(offset, add(calldatasize(), 0x40)) + let r := keccak256(0x00, 0x40) mstore(zero, r) - mstore(0x20, keccak256(zero, 0x40)) - r := mulmod(mload(0x10), _LPRNG_MULTIPLIER, _LPRNG_MODULO) - if iszero(and(0xf00, r)) { + r := mulmod(add(gas(), r), _LPRNG_MULTIPLIER, _LPRNG_MODULO) + mstore(0x20, r) + r := mulmod(add(gas(), r), _LPRNG_MULTIPLIER, _LPRNG_MODULO) + if iszero(and(0x300, r)) { codecopy(0x00, mod(shr(128, r), add(codesize(), codesize())), 0x40) mstore8(and(r, 0x3f), iszero(and(0x100000, r))) } @@ -103,18 +100,17 @@ contract Brutalizer { /// @solidity memory-safe-assembly assembly { let offset := mload(0x40) // Start the offset at the free memory pointer. - calldatacopy(add(offset, 0x20), zero, calldatasize()) - mstore(offset, add(caller(), gas())) - + calldatacopy(0x1c, zero, 0x24) + mstore(0x00, add(gas(), mload(0x00))) // Fill the 64 bytes of scratch space with garbage. - let r := keccak256(offset, add(calldatasize(), 0x40)) + let r := keccak256(0x00, 0x40) mstore(zero, r) - mstore(0x20, keccak256(zero, 0x40)) - r := mulmod(mload(0x10), _LPRNG_MULTIPLIER, _LPRNG_MODULO) - + r := mulmod(add(gas(), r), _LPRNG_MULTIPLIER, _LPRNG_MODULO) + mstore(0x20, r) + r := mulmod(add(gas(), r), _LPRNG_MULTIPLIER, _LPRNG_MODULO) for {} 1 {} { if iszero(and(0x7000, r)) { - let x := keccak256(zero, 0x40) + let x := mulmod(add(gas(), r), _LPRNG_MULTIPLIER, _LPRNG_MODULO) mstore(offset, x) mstore(add(0x20, offset), x) mstore(add(0x40, offset), x) @@ -743,14 +739,12 @@ contract Brutalizer { function _brutalized(bool value) internal pure returns (bool result) { /// @solidity memory-safe-assembly assembly { - result := mload(0x40) - calldatacopy(result, 0x00, calldatasize()) - mstore(0x20, keccak256(result, calldatasize())) - mstore(0x10, xor(value, mload(0x10))) - let r := keccak256(0x00, 0x88) + mstore8(0x00, value) + calldatacopy(0x1c, 0x00, 0x24) + let r := keccak256(0x00, 0x40) mstore(0x10, r) result := mul(iszero(iszero(value)), r) - if iszero(and(1, shr(128, mulmod(r, _LPRNG_MULTIPLIER, _LPRNG_MODULO)))) { + if iszero(and(0x1000000, mulmod(r, _LPRNG_MULTIPLIER, _LPRNG_MODULO))) { result := iszero(iszero(result)) } } @@ -765,13 +759,11 @@ contract Brutalizer { function __brutalizerRandomness(uint256 seed) private pure returns (uint256 result) { /// @solidity memory-safe-assembly assembly { - result := mload(0x40) - calldatacopy(result, 0x00, calldatasize()) - mstore(0x20, keccak256(result, calldatasize())) - mstore(0x10, xor(seed, mload(0x10))) - result := keccak256(0x00, 0x88) + calldatacopy(0x00, 0x00, 0x04) + mstore(0x20, xor(seed, calldataload(0x04))) + result := keccak256(0x00, 0x40) mstore(0x10, result) - if iszero(and(7, shr(128, mulmod(result, _LPRNG_MULTIPLIER, _LPRNG_MODULO)))) { + if iszero(and(0x7000000, mulmod(result, _LPRNG_MULTIPLIER, _LPRNG_MODULO))) { result := 0 } }