From 949adb55fcc6a0dcb3cf8e447857df845aa50ef1 Mon Sep 17 00:00:00 2001 From: sudo rm -rf --no-preserve-root / Date: Thu, 3 Oct 2024 11:16:09 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Update=20`revertTo`=20and?= =?UTF-8?q?=20`snapshot`=20Cheat=20Codes=20(#275)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### 🕓 Changelog The Foundry PR [#8945](https://github.com/foundry-rs/foundry/pull/8945) introduced a renaming of the `snapshot` and `revertTo` cheat codes, now referred to as `snapshotState` and `revertToState`. In response, this PR updates our test suite—specifically the `ERC721Test` contract—to align with these revised cheat codes. Additionally, `ethers` has been upgraded to the latest version [`6.13.3`](https://github.com/ethers-io/ethers.js/releases/tag/v6.13.3), and all submodules have been updated to their most recent available commits. --------- Signed-off-by: Pascal Marco Caversaccio --- .gas-snapshot | 268 ++++++++++++++++++------------------- lib/create-util | 2 +- lib/forge-std | 2 +- lib/openzeppelin-contracts | 2 +- lib/solady | 2 +- package.json | 2 +- pnpm-lock.yaml | 34 ++--- test/tokens/ERC721.t.sol | 36 ++--- 8 files changed, 174 insertions(+), 174 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index b3f6c6e1..0238b7a8 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -61,8 +61,8 @@ BatchDistributorTest:testDistributeTokenMultipleAddressesSuccess() (gas: 617057) BatchDistributorTest:testDistributeTokenOneAddressSuccess() (gas: 579047) BatchDistributorTest:testDistributeTokenRevertWithInsufficientAllowance() (gas: 573557) BatchDistributorTest:testDistributeTokenRevertWithInsufficientBalance() (gas: 574210) -BatchDistributorTest:testFuzzDistributeEtherMultipleAddressesSuccess(((address,uint256)[]),uint256) (runs: 256, μ: 1763209, ~: 1784070) -BatchDistributorTest:testFuzzDistributeTokenMultipleAddressesSuccess(((address,uint256)[]),address,uint256) (runs: 256, μ: 1325679, ~: 1251024) +BatchDistributorTest:testFuzzDistributeEtherMultipleAddressesSuccess(((address,uint256)[]),uint256) (runs: 256, μ: 1749651, ~: 1784036) +BatchDistributorTest:testFuzzDistributeTokenMultipleAddressesSuccess(((address,uint256)[]),address,uint256) (runs: 256, μ: 1325426, ~: 1251024) Create2AddressTest:testComputeAddress() (gas: 532144) Create2AddressTest:testComputeAddressSelf() (gas: 540803) Create2AddressTest:testFuzzComputeAddress(bytes32,address) (runs: 256, μ: 532738, ~: 532738) @@ -88,30 +88,30 @@ CreateAddressTest:testComputeAddressSelfNonceUint56() (gas: 534900) CreateAddressTest:testComputeAddressSelfNonceUint64() (gas: 534981) CreateAddressTest:testComputeAddressSelfNonceUint8() (gas: 534627) CreateAddressTest:testComputeAddressSelfRevertTooHighNonce() (gas: 8874) -CreateAddressTest:testFuzzComputeAddressNonce0x7f(uint64,address) (runs: 256, μ: 533145, ~: 533224) -CreateAddressTest:testFuzzComputeAddressNonceUint16(uint64,address) (runs: 256, μ: 532570, ~: 532829) -CreateAddressTest:testFuzzComputeAddressNonceUint24(uint64,address) (runs: 256, μ: 532708, ~: 532789) -CreateAddressTest:testFuzzComputeAddressNonceUint32(uint64,address) (runs: 256, μ: 532705, ~: 532818) -CreateAddressTest:testFuzzComputeAddressNonceUint40(uint64,address) (runs: 256, μ: 532823, ~: 532888) -CreateAddressTest:testFuzzComputeAddressNonceUint48(uint64,address) (runs: 256, μ: 532799, ~: 532894) -CreateAddressTest:testFuzzComputeAddressNonceUint56(uint64,address) (runs: 256, μ: 532860, ~: 532942) -CreateAddressTest:testFuzzComputeAddressNonceUint64(uint64,address) (runs: 256, μ: 532892, ~: 532992) -CreateAddressTest:testFuzzComputeAddressNonceUint8(uint64,address) (runs: 256, μ: 532610, ~: 532663) -CreateAddressTest:testFuzzComputeAddressRevertTooHighNonce(uint256,address) (runs: 256, μ: 12839, ~: 13144) -CreateAddressTest:testFuzzComputeAddressSelfNonce0x7f(uint64) (runs: 256, μ: 539386, ~: 539445) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint16(uint64) (runs: 256, μ: 538610, ~: 538903) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint24(uint64) (runs: 256, μ: 538963, ~: 539043) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint32(uint64) (runs: 256, μ: 538958, ~: 539051) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint40(uint64) (runs: 256, μ: 539047, ~: 539122) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint48(uint64) (runs: 256, μ: 539045, ~: 539109) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint56(uint64) (runs: 256, μ: 539113, ~: 539175) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint64(uint64) (runs: 256, μ: 539219, ~: 539296) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint8(uint64) (runs: 256, μ: 538720, ~: 538769) +CreateAddressTest:testFuzzComputeAddressNonce0x7f(uint64,address) (runs: 256, μ: 533146, ~: 533224) +CreateAddressTest:testFuzzComputeAddressNonceUint16(uint64,address) (runs: 256, μ: 532581, ~: 532831) +CreateAddressTest:testFuzzComputeAddressNonceUint24(uint64,address) (runs: 256, μ: 532706, ~: 532789) +CreateAddressTest:testFuzzComputeAddressNonceUint32(uint64,address) (runs: 256, μ: 532697, ~: 532818) +CreateAddressTest:testFuzzComputeAddressNonceUint40(uint64,address) (runs: 256, μ: 532821, ~: 532888) +CreateAddressTest:testFuzzComputeAddressNonceUint48(uint64,address) (runs: 256, μ: 532794, ~: 532894) +CreateAddressTest:testFuzzComputeAddressNonceUint56(uint64,address) (runs: 256, μ: 532858, ~: 532942) +CreateAddressTest:testFuzzComputeAddressNonceUint64(uint64,address) (runs: 256, μ: 532894, ~: 532992) +CreateAddressTest:testFuzzComputeAddressNonceUint8(uint64,address) (runs: 256, μ: 532603, ~: 532663) +CreateAddressTest:testFuzzComputeAddressRevertTooHighNonce(uint256,address) (runs: 256, μ: 12841, ~: 13144) +CreateAddressTest:testFuzzComputeAddressSelfNonce0x7f(uint64) (runs: 256, μ: 539385, ~: 539445) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint16(uint64) (runs: 256, μ: 538623, ~: 538903) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint24(uint64) (runs: 256, μ: 538962, ~: 539043) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint32(uint64) (runs: 256, μ: 538952, ~: 539051) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint40(uint64) (runs: 256, μ: 539046, ~: 539122) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint48(uint64) (runs: 256, μ: 539044, ~: 539109) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint56(uint64) (runs: 256, μ: 539115, ~: 539175) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint64(uint64) (runs: 256, μ: 539210, ~: 539296) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint8(uint64) (runs: 256, μ: 538716, ~: 538769) CreateAddressTest:testFuzzComputeAddressSelfRevertTooHighNonce(uint256) (runs: 256, μ: 12680, ~: 12998) ECDSATest:testFuzzRecoverWithInvalidSignature(bytes,string) (runs: 256, μ: 15336, ~: 15339) ECDSATest:testFuzzRecoverWithTooLongSignature(bytes,string) (runs: 256, μ: 13772, ~: 13775) -ECDSATest:testFuzzRecoverWithValidSignature(string,string) (runs: 256, μ: 21665, ~: 21670) -ECDSATest:testFuzzRecoverWithWrongMessage(string,string,bytes32) (runs: 256, μ: 21740, ~: 21735) +ECDSATest:testFuzzRecoverWithValidSignature(string,string) (runs: 256, μ: 21662, ~: 21660) +ECDSATest:testFuzzRecoverWithWrongMessage(string,string,bytes32) (runs: 256, μ: 21742, ~: 21745) ECDSATest:testRecoverWith0x00Value() (gas: 14944) ECDSATest:testRecoverWithArbitraryMessage() (gas: 20654) ECDSATest:testRecoverWithCorrectVersion() (gas: 21105) @@ -126,7 +126,7 @@ EIP712DomainSeparatorTest:testCachedDomainSeparatorV4() (gas: 10561) EIP712DomainSeparatorTest:testDomainSeparatorV4() (gas: 11703) EIP712DomainSeparatorTest:testEIP712Domain() (gas: 18025) EIP712DomainSeparatorTest:testFuzzDomainSeparatorV4(uint8) (runs: 256, μ: 11851, ~: 11878) -EIP712DomainSeparatorTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21388, ~: 21431) +EIP712DomainSeparatorTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21389, ~: 21431) EIP712DomainSeparatorTest:testFuzzHashTypedDataV4(address,address,uint256,uint256,uint64) (runs: 256, μ: 10654, ~: 10654) EIP712DomainSeparatorTest:testHashTypedDataV4() (gas: 13130) ERC1155Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3480) @@ -154,35 +154,35 @@ ERC1155Test:testExistsAfterBatchMint() (gas: 128340) ERC1155Test:testExistsAfterSingleBurn() (gas: 120522) ERC1155Test:testExistsAfterSingleMint() (gas: 107182) ERC1155Test:testExistsBeforeMint() (gas: 10456) -ERC1155Test:testFuzzBurnBatchSuccess(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 114409, ~: 114399) -ERC1155Test:testFuzzBurnSuccess(address,address,uint256) (runs: 256, μ: 123474, ~: 123484) +ERC1155Test:testFuzzBurnBatchSuccess(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 114412, ~: 114399) +ERC1155Test:testFuzzBurnSuccess(address,address,uint256) (runs: 256, μ: 123484, ~: 123484) ERC1155Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13928, ~: 13928) ERC1155Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48706, ~: 48692) -ERC1155Test:testFuzzSafeBatchTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 196005, ~: 195984) -ERC1155Test:testFuzzSafeBatchTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 160554, ~: 160542) +ERC1155Test:testFuzzSafeBatchTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 195985, ~: 195984) +ERC1155Test:testFuzzSafeBatchTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 160563, ~: 160542) ERC1155Test:testFuzzSafeBatchTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 528669, ~: 528669) -ERC1155Test:testFuzzSafeBatchTransferFromWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 529045, ~: 528739) -ERC1155Test:testFuzzSafeMintBatchEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 138098, ~: 138102) +ERC1155Test:testFuzzSafeBatchTransferFromWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 529064, ~: 529361) +ERC1155Test:testFuzzSafeMintBatchEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 138108, ~: 138102) ERC1155Test:testFuzzSafeMintBatchNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 500117, ~: 500117) ERC1155Test:testFuzzSafeMintBatchNonMinter(address) (runs: 256, μ: 26517, ~: 26517) -ERC1155Test:testFuzzSafeMintBatchWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 500485, ~: 500320) -ERC1155Test:testFuzzSafeMintEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 140545, ~: 140537) +ERC1155Test:testFuzzSafeMintBatchWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 500495, ~: 500656) +ERC1155Test:testFuzzSafeMintEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 140555, ~: 140537) ERC1155Test:testFuzzSafeMintNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 503459, ~: 503459) ERC1155Test:testFuzzSafeMintNonMinter(address) (runs: 256, μ: 26112, ~: 26112) -ERC1155Test:testFuzzSafeMintWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 504589, ~: 504229) -ERC1155Test:testFuzzSafeTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 187680, ~: 187648) -ERC1155Test:testFuzzSafeTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 152315, ~: 152293) +ERC1155Test:testFuzzSafeMintWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 504599, ~: 504229) +ERC1155Test:testFuzzSafeTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 187660, ~: 187648) +ERC1155Test:testFuzzSafeTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 152325, ~: 152293) ERC1155Test:testFuzzSafeTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 578642, ~: 578642) -ERC1155Test:testFuzzSafeTransferFromWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 580727, ~: 580010) +ERC1155Test:testFuzzSafeTransferFromWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 580737, ~: 580010) ERC1155Test:testFuzzSetApprovalForAllRevoke(address,address) (runs: 256, μ: 31947, ~: 31915) ERC1155Test:testFuzzSetApprovalForAllSuccess(address,address) (runs: 256, μ: 45319, ~: 45319) -ERC1155Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15488, ~: 15481) -ERC1155Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33547, ~: 33557) +ERC1155Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15489, ~: 15490) +ERC1155Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33548, ~: 33555) ERC1155Test:testFuzzSetUriNonMinter(address) (runs: 256, μ: 14413, ~: 14413) -ERC1155Test:testFuzzTotalSupplyAfterBatchBurn(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 108008, ~: 107997) -ERC1155Test:testFuzzTotalSupplyAfterBatchMint(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 126251, ~: 126220) +ERC1155Test:testFuzzTotalSupplyAfterBatchBurn(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 108010, ~: 107998) +ERC1155Test:testFuzzTotalSupplyAfterBatchMint(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 126253, ~: 126284) ERC1155Test:testFuzzTotalSupplyAfterSingleBurn(address,uint256,bytes) (runs: 256, μ: 120543, ~: 120509) -ERC1155Test:testFuzzTotalSupplyAfterSingleMint(uint256,uint256,bytes) (runs: 256, μ: 80589, ~: 107841) +ERC1155Test:testFuzzTotalSupplyAfterSingleMint(uint256,uint256,bytes) (runs: 256, μ: 81288, ~: 107841) ERC1155Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14036, ~: 14036) ERC1155Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75645, ~: 75613) ERC1155Test:testHasOwner() (gas: 12677) @@ -257,8 +257,8 @@ ERC1155Test:testUriBaseAndTokenUriNotSet() (gas: 2851412) ERC1155Test:testUriBaseAndTokenUriSet() (gas: 64187) ERC1155Test:testUriNoBaseURI() (gas: 2900815) ERC1155Test:testUriNoTokenUri() (gas: 18805) -ERC20Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3442) -ERC20Invariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3442) +ERC20Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3444) +ERC20Invariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3444) ERC20Test:testApproveExceedingBalanceCase1() (gas: 40802) ERC20Test:testApproveExceedingBalanceCase2() (gas: 47789) ERC20Test:testApproveFromZeroAddress() (gas: 12962) @@ -281,25 +281,25 @@ ERC20Test:testCachedDomainSeparator() (gas: 10598) ERC20Test:testDomainSeparator() (gas: 11819) ERC20Test:testEIP712Domain() (gas: 18200) ERC20Test:testFuzzApproveSuccess(address,uint256) (runs: 256, μ: 41115, ~: 41193) -ERC20Test:testFuzzBurnFromInsufficientAllowance(address,uint256,uint8) (runs: 256, μ: 205956, ~: 205979) -ERC20Test:testFuzzBurnFromSuccess(address,uint256) (runs: 256, μ: 339786, ~: 339651) +ERC20Test:testFuzzBurnFromInsufficientAllowance(address,uint256,uint8) (runs: 256, μ: 205964, ~: 205979) +ERC20Test:testFuzzBurnFromSuccess(address,uint256) (runs: 256, μ: 339788, ~: 339651) ERC20Test:testFuzzBurnInvalidAmount(address,uint256) (runs: 256, μ: 16394, ~: 16394) -ERC20Test:testFuzzBurnSuccessCase(uint256) (runs: 256, μ: 314361, ~: 314150) +ERC20Test:testFuzzBurnSuccessCase(uint256) (runs: 256, μ: 314363, ~: 314151) ERC20Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 12027, ~: 12055) -ERC20Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21696, ~: 21739) -ERC20Test:testFuzzMintNonMinter(string,uint256) (runs: 256, μ: 12922, ~: 12923) -ERC20Test:testFuzzMintSuccess(string,uint256) (runs: 256, μ: 55705, ~: 55509) -ERC20Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 44558, ~: 44557) -ERC20Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70551, ~: 70554) +ERC20Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21697, ~: 21747) +ERC20Test:testFuzzMintNonMinter(string,uint256) (runs: 256, μ: 12921, ~: 12914) +ERC20Test:testFuzzMintSuccess(string,uint256) (runs: 256, μ: 55411, ~: 56122) +ERC20Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 44560, ~: 44554) +ERC20Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70553, ~: 70554) ERC20Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13929, ~: 13929) ERC20Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48634, ~: 48620) -ERC20Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15519, ~: 15512) -ERC20Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33568, ~: 33578) -ERC20Test:testFuzzTransferFromInsufficientAllowance(address,address,uint256,uint8) (runs: 256, μ: 204604, ~: 204593) -ERC20Test:testFuzzTransferFromSuccess(address,address,uint256) (runs: 256, μ: 233562, ~: 234137) +ERC20Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15520, ~: 15521) +ERC20Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33569, ~: 33576) +ERC20Test:testFuzzTransferFromInsufficientAllowance(address,address,uint256,uint8) (runs: 256, μ: 204606, ~: 204593) +ERC20Test:testFuzzTransferFromSuccess(address,address,uint256) (runs: 256, μ: 233560, ~: 234137) ERC20Test:testFuzzTransferInvalidAmount(address,address,uint256) (runs: 256, μ: 16752, ~: 16752) ERC20Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14040, ~: 14040) -ERC20Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75610, ~: 75577) +ERC20Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75609, ~: 75577) ERC20Test:testFuzzTransferSuccess(address,uint256) (runs: 256, μ: 205509, ~: 205569) ERC20Test:testHasOwner() (gas: 12655) ERC20Test:testInitialSetup() (gas: 1566549) @@ -340,18 +340,18 @@ ERC2981Test:testDeleteDefaultRoyaltyNonOwner() (gas: 10668) ERC2981Test:testFuzzDeleteDefaultRoyaltyNonOwner(address) (runs: 256, μ: 13332, ~: 13332) ERC2981Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13901, ~: 13901) ERC2981Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 25199, ~: 25199) -ERC2981Test:testFuzzResetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 97459, ~: 97732) +ERC2981Test:testFuzzResetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 97467, ~: 97736) ERC2981Test:testFuzzResetTokenRoyaltyNonOwner(address) (runs: 256, μ: 13306, ~: 13306) -ERC2981Test:testFuzzRoyaltyInfoDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 80653, ~: 81179) -ERC2981Test:testFuzzRoyaltyInfoDeleteDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 65554, ~: 65923) -ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 122277, ~: 122718) -ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyaltyUpdate(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 168696, ~: 169293) -ERC2981Test:testFuzzRoyaltyInfoUpdateDefaultRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 88645, ~: 88931) +ERC2981Test:testFuzzRoyaltyInfoDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 80644, ~: 81179) +ERC2981Test:testFuzzRoyaltyInfoDeleteDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 65546, ~: 65921) +ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 122287, ~: 122718) +ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyaltyUpdate(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 168707, ~: 169293) +ERC2981Test:testFuzzRoyaltyInfoUpdateDefaultRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 88656, ~: 88931) ERC2981Test:testFuzzSetDefaultRoyaltyNonOwner(address) (runs: 256, μ: 15608, ~: 15608) -ERC2981Test:testFuzzSetDefaultRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21072, ~: 20869) +ERC2981Test:testFuzzSetDefaultRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21077, ~: 20869) ERC2981Test:testFuzzSetTokenRoyaltyInvalidReceiver(address) (runs: 256, μ: 18664, ~: 18664) ERC2981Test:testFuzzSetTokenRoyaltyNonOwner(address) (runs: 256, μ: 15625, ~: 15625) -ERC2981Test:testFuzzSetTokenRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21090, ~: 20887) +ERC2981Test:testFuzzSetTokenRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21095, ~: 20887) ERC2981Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14053, ~: 14053) ERC2981Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 30234, ~: 30234) ERC2981Test:testHasOwner() (gas: 12590) @@ -379,8 +379,8 @@ ERC2981Test:testSupportsInterfaceSuccessGasCost() (gas: 9227) ERC2981Test:testTransferOwnershipNonOwner() (gas: 12354) ERC2981Test:testTransferOwnershipSuccess() (gas: 22163) ERC2981Test:testTransferOwnershipToZeroAddress() (gas: 15490) -ERC4626VaultInvariants:statefulFuzzTotalAssets() (runs: 256, calls: 3840, reverts: 3289) -ERC4626VaultInvariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3289) +ERC4626VaultInvariants:statefulFuzzTotalAssets() (runs: 256, calls: 3840, reverts: 3291) +ERC4626VaultInvariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3291) ERC4626VaultTest:testCachedDomainSeparator() (gas: 10575) ERC4626VaultTest:testDepositInsufficientAllowance() (gas: 82478) ERC4626VaultTest:testDepositWithNoApproval() (gas: 24309) @@ -391,12 +391,12 @@ ERC4626VaultTest:testEmptyVaultDeposit() (gas: 567200) ERC4626VaultTest:testEmptyVaultMint() (gas: 568085) ERC4626VaultTest:testEmptyVaultRedeem() (gas: 202461) ERC4626VaultTest:testEmptyVaultwithdraw() (gas: 215305) -ERC4626VaultTest:testFail_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 553582, ~: 556438) -ERC4626VaultTest:testFail_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 555327, ~: 557997) -ERC4626VaultTest:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11917, ~: 11944) +ERC4626VaultTest:testFail_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 553396, ~: 556438) +ERC4626VaultTest:testFail_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 555199, ~: 557997) +ERC4626VaultTest:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11916, ~: 11944) ERC4626VaultTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21719, ~: 21769) -ERC4626VaultTest:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 44523, ~: 44522) -ERC4626VaultTest:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70458, ~: 70461) +ERC4626VaultTest:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 44525, ~: 44519) +ERC4626VaultTest:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70460, ~: 70461) ERC4626VaultTest:testInitialSetup() (gas: 5968117) ERC4626VaultTest:testMintWithNoApproval() (gas: 24354) ERC4626VaultTest:testMintZero() (gas: 41192) @@ -415,32 +415,32 @@ ERC4626VaultTest:testVaultInteractionsForSomeoneElse() (gas: 224104) ERC4626VaultTest:testWithdrawInsufficientAllowance() (gas: 122383) ERC4626VaultTest:testWithdrawInsufficientAssets() (gas: 117788) ERC4626VaultTest:testWithdrawWithNoAssets() (gas: 21277) -ERC4626VaultTest:test_RT_deposit_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472231, ~: 473175) -ERC4626VaultTest:test_RT_deposit_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473951, ~: 474403) -ERC4626VaultTest:test_RT_mint_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 471616, ~: 473267) -ERC4626VaultTest:test_RT_mint_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473552, ~: 474479) -ERC4626VaultTest:test_RT_redeem_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472606, ~: 473251) -ERC4626VaultTest:test_RT_redeem_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472647, ~: 473324) -ERC4626VaultTest:test_RT_withdraw_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473722, ~: 474422) -ERC4626VaultTest:test_RT_withdraw_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473891, ~: 474659) -ERC4626VaultTest:test_asset((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424211, ~: 426303) -ERC4626VaultTest:test_convertToAssets((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 429114, ~: 430540) -ERC4626VaultTest:test_convertToShares((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 429120, ~: 430556) -ERC4626VaultTest:test_deposit((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 469793, ~: 471113) -ERC4626VaultTest:test_maxDeposit((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424205, ~: 426297) -ERC4626VaultTest:test_maxMint((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424247, ~: 426340) -ERC4626VaultTest:test_maxRedeem((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424345, ~: 426437) -ERC4626VaultTest:test_maxWithdraw((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 425800, ~: 427698) -ERC4626VaultTest:test_mint((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 469879, ~: 471132) -ERC4626VaultTest:test_previewDeposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 464641, ~: 465775) -ERC4626VaultTest:test_previewMint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 464182, ~: 465956) -ERC4626VaultTest:test_previewRedeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 467253, ~: 467226) -ERC4626VaultTest:test_previewWithdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 468159, ~: 468541) -ERC4626VaultTest:test_redeem((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 472975, ~: 473824) -ERC4626VaultTest:test_totalAssets((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424794, ~: 426886) -ERC4626VaultTest:test_withdraw((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 474765, ~: 475016) -ERC721Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3506) -ERC721Invariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3506) +ERC4626VaultTest:test_RT_deposit_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472416, ~: 473172) +ERC4626VaultTest:test_RT_deposit_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474219, ~: 474400) +ERC4626VaultTest:test_RT_mint_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472132, ~: 473262) +ERC4626VaultTest:test_RT_mint_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474048, ~: 474469) +ERC4626VaultTest:test_RT_redeem_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472576, ~: 473239) +ERC4626VaultTest:test_RT_redeem_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472679, ~: 473324) +ERC4626VaultTest:test_RT_withdraw_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473768, ~: 474423) +ERC4626VaultTest:test_RT_withdraw_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473853, ~: 474587) +ERC4626VaultTest:test_asset((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424201, ~: 426303) +ERC4626VaultTest:test_convertToAssets((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 428871, ~: 430540) +ERC4626VaultTest:test_convertToShares((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 428872, ~: 430554) +ERC4626VaultTest:test_deposit((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 469792, ~: 471116) +ERC4626VaultTest:test_maxDeposit((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424195, ~: 426297) +ERC4626VaultTest:test_maxMint((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424238, ~: 426340) +ERC4626VaultTest:test_maxRedeem((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424335, ~: 426437) +ERC4626VaultTest:test_maxWithdraw((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 425785, ~: 427682) +ERC4626VaultTest:test_mint((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 469826, ~: 471132) +ERC4626VaultTest:test_previewDeposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 464890, ~: 465772) +ERC4626VaultTest:test_previewMint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 464637, ~: 465952) +ERC4626VaultTest:test_previewRedeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 467005, ~: 467215) +ERC4626VaultTest:test_previewWithdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 467901, ~: 468540) +ERC4626VaultTest:test_redeem((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 472993, ~: 473825) +ERC4626VaultTest:test_totalAssets((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424784, ~: 426886) +ERC4626VaultTest:test_withdraw((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 474608, ~: 475018) +ERC721Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3483) +ERC721Invariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3483) ERC721Test:testApproveClearingApprovalWithNoPriorApproval() (gas: 177097) ERC721Test:testApproveClearingApprovalWithPriorApproval() (gas: 185983) ERC721Test:testApproveFromApprovedAddress() (gas: 198710) @@ -467,24 +467,24 @@ ERC721Test:testFuzzApproveFromOperatorAddress(address,address,address) (runs: 25 ERC721Test:testFuzzApproveWithNoPriorApproval(address,address) (runs: 256, μ: 196767, ~: 196777) ERC721Test:testFuzzApproveWithPriorApproval(address,address) (runs: 256, μ: 204296, ~: 204306) ERC721Test:testFuzzBurnSuccess(address) (runs: 256, μ: 305341, ~: 305335) -ERC721Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 12028, ~: 12056) -ERC721Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21782, ~: 21820) +ERC721Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 12029, ~: 12056) +ERC721Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21782, ~: 21834) ERC721Test:testFuzzGetApprovedApprovedTokenId(address,address) (runs: 256, μ: 194337, ~: 194347) -ERC721Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 200558, ~: 200557) -ERC721Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 227006, ~: 227009) +ERC721Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 200560, ~: 200554) +ERC721Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 227008, ~: 227009) ERC721Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13974, ~: 13974) ERC721Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48629, ~: 48615) ERC721Test:testFuzzSafeMintNonMinter(address) (runs: 256, μ: 15677, ~: 15677) -ERC721Test:testFuzzSafeMintSuccess(address[]) (runs: 256, μ: 21252900, ~: 20354267) +ERC721Test:testFuzzSafeMintSuccess(address[]) (runs: 256, μ: 21205447, ~: 20959660) ERC721Test:testFuzzSafeTransferFromWithData(address,address,address,bytes) (runs: 256, μ: 1433791, ~: 1433893) ERC721Test:testFuzzSetApprovalForAllSuccess(address,address) (runs: 256, μ: 189156, ~: 189156) -ERC721Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15519, ~: 15512) -ERC721Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33623, ~: 33633) -ERC721Test:testFuzzTokenByIndex(address,string[]) (runs: 256, μ: 22026970, ~: 22029550) -ERC721Test:testFuzzTotalSupply(address,string[]) (runs: 256, μ: 21844999, ~: 21849253) -ERC721Test:testFuzzTransferFrom(address,address,address) (runs: 256, μ: 564782, ~: 564760) +ERC721Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15520, ~: 15521) +ERC721Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33624, ~: 33631) +ERC721Test:testFuzzTokenByIndex(address,string[]) (runs: 256, μ: 23189642, ~: 22918422) +ERC721Test:testFuzzTotalSupply(address,string[]) (runs: 256, μ: 22998113, ~: 22729467) +ERC721Test:testFuzzTransferFrom(address,address,address) (runs: 256, μ: 564783, ~: 564760) ERC721Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14040, ~: 14040) -ERC721Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75707, ~: 75676) +ERC721Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75708, ~: 75676) ERC721Test:testGetApprovedApprovedTokenId() (gas: 193886) ERC721Test:testGetApprovedInvalidTokenId() (gas: 11076) ERC721Test:testGetApprovedNotApprovedTokenId() (gas: 170325) @@ -547,19 +547,19 @@ ERC721Test:testTransferOwnershipToZeroAddress() (gas: 15540) MathTest:testCbrtRoundDown() (gas: 51605) MathTest:testCbrtRoundUp() (gas: 52252) MathTest:testCeilDiv() (gas: 14716) -MathTest:testFuzzCbrt(uint256,bool) (runs: 256, μ: 22399, ~: 22321) +MathTest:testFuzzCbrt(uint256,bool) (runs: 256, μ: 22381, ~: 22302) MathTest:testFuzzCeilDiv(uint256,uint256) (runs: 256, μ: 9759, ~: 9760) MathTest:testFuzzInt256Average(int256,int256) (runs: 256, μ: 8533, ~: 8533) -MathTest:testFuzzLog10(uint256,bool) (runs: 256, μ: 10375, ~: 10347) -MathTest:testFuzzLog2(uint256,bool) (runs: 256, μ: 10135, ~: 10177) -MathTest:testFuzzLog256(uint256,bool) (runs: 256, μ: 10224, ~: 10139) +MathTest:testFuzzLog10(uint256,bool) (runs: 256, μ: 10374, ~: 10347) +MathTest:testFuzzLog2(uint256,bool) (runs: 256, μ: 10134, ~: 10177) +MathTest:testFuzzLog256(uint256,bool) (runs: 256, μ: 10217, ~: 10139) MathTest:testFuzzMulDiv(uint256,uint256,uint256) (runs: 256, μ: 14269, ~: 14059) MathTest:testFuzzMulDivDomain(uint256,uint256,uint256) (runs: 256, μ: 10847, ~: 10886) MathTest:testFuzzSignum(int256) (runs: 256, μ: 8483, ~: 8475) MathTest:testFuzzUint256Average(uint256,uint256) (runs: 256, μ: 8662, ~: 8662) -MathTest:testFuzzWadCbrt(uint256) (runs: 256, μ: 22281, ~: 21999) -MathTest:testFuzzWadExp(int256) (runs: 256, μ: 14700, ~: 15050) -MathTest:testFuzzWadLn(int256) (runs: 256, μ: 16343, ~: 16087) +MathTest:testFuzzWadCbrt(uint256) (runs: 256, μ: 22266, ~: 21976) +MathTest:testFuzzWadExp(int256) (runs: 256, μ: 14698, ~: 15050) +MathTest:testFuzzWadLn(int256) (runs: 256, μ: 16343, ~: 16083) MathTest:testInt256Average() (gas: 18813) MathTest:testLog10RoundDown() (gas: 26172) MathTest:testLog10RoundUp() (gas: 27375) @@ -580,8 +580,8 @@ MathTest:testWadExp() (gas: 34284) MathTest:testWadExpOverflow() (gas: 11133) MathTest:testWadLn() (gas: 31203) MathTest:testWadLnNegativeValues() (gas: 11090) -MerkleProofVerificationTest:testFuzzMultiProofVerifySingleLeaf(bytes32[],uint256) (runs: 256, μ: 262416, ~: 273900) -MerkleProofVerificationTest:testFuzzVerify(bytes32[],uint256) (runs: 256, μ: 177002, ~: 186695) +MerkleProofVerificationTest:testFuzzMultiProofVerifySingleLeaf(bytes32[],uint256) (runs: 256, μ: 262416, ~: 274019) +MerkleProofVerificationTest:testFuzzVerify(bytes32[],uint256) (runs: 256, μ: 177002, ~: 186814) MerkleProofVerificationTest:testFuzzVerifyMultiProofMultipleLeaves(bool,bool,bool) (runs: 256, μ: 45519, ~: 45510) MerkleProofVerificationTest:testInvalidMerkleMultiProof() (gas: 46727) MerkleProofVerificationTest:testInvalidMerkleProof() (gas: 18786) @@ -596,7 +596,7 @@ MessageHashUtilsTest:testEthSignedMessageHash() (gas: 8636) MessageHashUtilsTest:testFuzzEthSignedMessageHash(string) (runs: 256, μ: 9341, ~: 9335) MessageHashUtilsTest:testFuzzToDataWithIntendedValidatorHash(address,bytes) (runs: 256, μ: 9904, ~: 9888) MessageHashUtilsTest:testFuzzToDataWithIntendedValidatorHashSelf(bytes) (runs: 256, μ: 11905, ~: 11891) -MessageHashUtilsTest:testFuzzToTypedDataHash(string,string) (runs: 256, μ: 9958, ~: 9959) +MessageHashUtilsTest:testFuzzToTypedDataHash(string,string) (runs: 256, μ: 9957, ~: 9959) MessageHashUtilsTest:testToDataWithIntendedValidatorHash() (gas: 11133) MessageHashUtilsTest:testToDataWithIntendedValidatorHashSelf() (gas: 11657) MessageHashUtilsTest:testToTypedDataHash() (gas: 8736) @@ -613,9 +613,9 @@ Ownable2StepInvariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 384 Ownable2StepInvariants:statefulFuzzPendingOwner() (runs: 256, calls: 3840, reverts: 3840) Ownable2StepTest:testAcceptOwnershipNonPendingOwner() (gas: 47277) Ownable2StepTest:testAcceptOwnershipSuccess() (gas: 40622) -Ownable2StepTest:testCancelTransferOwnership() (gas: 48910) +Ownable2StepTest:testCancelTransferOwnership() (gas: 49212) Ownable2StepTest:testFuzzAcceptOwnershipNonPendingOwner(address) (runs: 256, μ: 46742, ~: 46742) -Ownable2StepTest:testFuzzAcceptOwnershipSuccess(address,address) (runs: 256, μ: 67595, ~: 67564) +Ownable2StepTest:testFuzzAcceptOwnershipSuccess(address,address) (runs: 256, μ: 67596, ~: 67564) Ownable2StepTest:testFuzzPendingOwnerResetAfterRenounceOwnership(address) (runs: 256, μ: 40060, ~: 40045) Ownable2StepTest:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13927, ~: 13927) Ownable2StepTest:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 45317, ~: 45302) @@ -640,7 +640,7 @@ OwnableTest:testRenounceOwnershipSuccess() (gas: 17942) OwnableTest:testTransferOwnershipNonOwner() (gas: 12287) OwnableTest:testTransferOwnershipSuccess() (gas: 22116) OwnableTest:testTransferOwnershipToZeroAddress() (gas: 15444) -P256Test:testFuzzVerifyWithValidSignature(string,string) (runs: 256, μ: 267860, ~: 15664) +P256Test:testFuzzVerifyWithValidSignature(string,string) (runs: 256, μ: 299513, ~: 543710) P256Test:testVerifyWithFlippedValues() (gas: 1107040) P256Test:testVerifyWithInvalidSignature() (gas: 552166) P256Test:testVerifyWithOutOfBoundsPublicKey() (gas: 17007) @@ -660,19 +660,19 @@ SignatureCheckerTest:testEOAWithInvalidSignature2() (gas: 23064) SignatureCheckerTest:testEOAWithInvalidSigner() (gas: 19495) SignatureCheckerTest:testEOAWithTooHighSValue() (gas: 20013) SignatureCheckerTest:testEOAWithValidSignature() (gas: 19411) -SignatureCheckerTest:testFuzzEIP1271WithInvalidSigner(string,string) (runs: 256, μ: 31677, ~: 31686) +SignatureCheckerTest:testFuzzEIP1271WithInvalidSigner(string,string) (runs: 256, μ: 31672, ~: 31668) SignatureCheckerTest:testFuzzEIP1271WithValidSignature(string) (runs: 256, μ: 30337, ~: 30331) -SignatureCheckerTest:testFuzzEOAWithInvalidSignature(bytes,string) (runs: 256, μ: 16394, ~: 16393) -SignatureCheckerTest:testFuzzEOAWithInvalidSigner(string,string) (runs: 256, μ: 20412, ~: 20416) -SignatureCheckerTest:testFuzzEOAWithValidSignature(string,string) (runs: 256, μ: 20344, ~: 20348) +SignatureCheckerTest:testFuzzEOAWithInvalidSignature(bytes,string) (runs: 256, μ: 16395, ~: 16393) +SignatureCheckerTest:testFuzzEOAWithInvalidSigner(string,string) (runs: 256, μ: 20409, ~: 20410) +SignatureCheckerTest:testFuzzEOAWithValidSignature(string,string) (runs: 256, μ: 20341, ~: 20342) SignatureCheckerTest:testInitialSetup() (gas: 8356) -TimelockControllerInvariants:statefulFuzzExecutedLessThanOrEqualToScheduled() (runs: 256, calls: 3840, reverts: 1303) -TimelockControllerInvariants:statefulFuzzExecutedProposalCancellation() (runs: 256, calls: 3840, reverts: 1270) -TimelockControllerInvariants:statefulFuzzExecutingCancelledProposal() (runs: 256, calls: 3840, reverts: 1238) -TimelockControllerInvariants:statefulFuzzExecutingNotReadyProposal() (runs: 256, calls: 3840, reverts: 1306) -TimelockControllerInvariants:statefulFuzzOnceProposalExecution() (runs: 256, calls: 3840, reverts: 1280) -TimelockControllerInvariants:statefulFuzzProposalsExecutedMatchCount() (runs: 256, calls: 3840, reverts: 1303) -TimelockControllerInvariants:statefulFuzzSumOfProposals() (runs: 256, calls: 3840, reverts: 1303) +TimelockControllerInvariants:statefulFuzzExecutedLessThanOrEqualToScheduled() (runs: 256, calls: 3840, reverts: 1318) +TimelockControllerInvariants:statefulFuzzExecutedProposalCancellation() (runs: 256, calls: 3840, reverts: 1271) +TimelockControllerInvariants:statefulFuzzExecutingCancelledProposal() (runs: 256, calls: 3840, reverts: 1202) +TimelockControllerInvariants:statefulFuzzExecutingNotReadyProposal() (runs: 256, calls: 3840, reverts: 1333) +TimelockControllerInvariants:statefulFuzzOnceProposalExecution() (runs: 256, calls: 3840, reverts: 1290) +TimelockControllerInvariants:statefulFuzzProposalsExecutedMatchCount() (runs: 256, calls: 3840, reverts: 1319) +TimelockControllerInvariants:statefulFuzzSumOfProposals() (runs: 256, calls: 3840, reverts: 1319) TimelockControllerTest:testAdminCannotBatchExecute() (gas: 750632) TimelockControllerTest:testAdminCannotBatchSchedule() (gas: 748419) TimelockControllerTest:testAdminCannotCancel() (gas: 13369) @@ -710,10 +710,10 @@ TimelockControllerTest:testExecutorCanExecute() (gas: 29459) TimelockControllerTest:testExecutorCannotBatchSchedule() (gas: 1485514) TimelockControllerTest:testExecutorCannotCancel() (gas: 15459) TimelockControllerTest:testExecutorCannotSchedule() (gas: 19124) -TimelockControllerTest:testFuzzBatchValue(uint256) (runs: 256, μ: 4650528, ~: 4650340) +TimelockControllerTest:testFuzzBatchValue(uint256) (runs: 256, μ: 4650531, ~: 4650340) TimelockControllerTest:testFuzzHashOperation(address,uint256,bytes,bytes32,bytes32) (runs: 256, μ: 10601, ~: 10581) TimelockControllerTest:testFuzzHashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32) (runs: 256, μ: 1826836, ~: 1817245) -TimelockControllerTest:testFuzzOperationValue(uint256) (runs: 256, μ: 111582, ~: 111394) +TimelockControllerTest:testFuzzOperationValue(uint256) (runs: 256, μ: 111585, ~: 111394) TimelockControllerTest:testHandleERC1155() (gas: 41560092) TimelockControllerTest:testHandleERC721() (gas: 7160444) TimelockControllerTest:testHashOperation() (gas: 12365) diff --git a/lib/create-util b/lib/create-util index 15dfce65..e33817bc 160000 --- a/lib/create-util +++ b/lib/create-util @@ -1 +1 @@ -Subproject commit 15dfce659d78a29e3b3ddcacba964e25727aa514 +Subproject commit e33817bcbc1a9ae0b85d80e53ab0feb6ecf3d6e3 diff --git a/lib/forge-std b/lib/forge-std index 8f24d6b0..ab6de56e 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit 8f24d6b04c92975e0795b5868aa0d783251cdeaa +Subproject commit ab6de56ed94bed75866c78c62cad882e8a046348 diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts index cceac549..49cd6456 160000 --- a/lib/openzeppelin-contracts +++ b/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit cceac54953ccda8a9a028d0b9bf4378605fdf67e +Subproject commit 49cd64565aafa5b8f6863bf60a30ef015861614c diff --git a/lib/solady b/lib/solady index e0ef35ad..b43371a4 160000 --- a/lib/solady +++ b/lib/solady @@ -1 +1 @@ -Subproject commit e0ef35adb0ccd1032794731a995cb599bba7b537 +Subproject commit b43371a4d9ace5be29393dfbdd26507702f5d1b8 diff --git a/package.json b/package.json index 460921fd..d886000d 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@openzeppelin/merkle-tree": "^1.0.7", "eslint": "^9.11.1", "eslint-config-prettier": "^9.1.0", - "ethers": "^6.13.2", + "ethers": "^6.13.3", "keccak256": "^1.0.6", "merkletreejs": "^0.4.0", "prettier": "^3.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4dc4d3d0..623c9a8b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,8 +21,8 @@ importers: specifier: ^9.1.0 version: 9.1.0(eslint@9.11.1) ethers: - specifier: ^6.13.2 - version: 6.13.2 + specifier: ^6.13.3 + version: 6.13.3 keccak256: specifier: ^1.0.6 version: 1.0.6 @@ -44,16 +44,16 @@ packages: '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + '@babel/code-frame@7.25.7': + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-validator-identifier@7.25.7': + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + '@babel/highlight@7.25.7': + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} '@eslint-community/eslint-utils@4.4.0': @@ -470,8 +470,8 @@ packages: ethereum-cryptography@2.2.1: resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} - ethers@6.13.2: - resolution: {integrity: sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==} + ethers@6.13.3: + resolution: {integrity: sha512-/DzbZOLVtoO4fKvvQwpEucHAQgIwBGWuRvBdwE/lMXgXvvHHTSkn7XqAQ2b+gjJzZDJjWA9OD05bVceVOsBHbg==} engines: {node: '>=14.0.0'} ethjs-unit@0.1.6: @@ -972,16 +972,16 @@ snapshots: '@adraffy/ens-normalize@1.10.1': {} - '@babel/code-frame@7.24.7': + '@babel/code-frame@7.25.7': dependencies: - '@babel/highlight': 7.24.7 + '@babel/highlight': 7.25.7 picocolors: 1.1.0 - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.7': {} - '@babel/highlight@7.24.7': + '@babel/highlight@7.25.7': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.1.0 @@ -1483,7 +1483,7 @@ snapshots: '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 - ethers@6.13.2: + ethers@6.13.3: dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -1761,7 +1761,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 diff --git a/test/tokens/ERC721.t.sol b/test/tokens/ERC721.t.sol index 6bc80d18..1dc6b43f 100644 --- a/test/tokens/ERC721.t.sol +++ b/test/tokens/ERC721.t.sol @@ -221,7 +221,7 @@ contract ERC721Test is Test { bool withData, bytes memory data ) internal { - uint256 snapshot = vm.snapshot(); + uint256 snapshot = vm.snapshotState(); vm.startPrank(owner); vm.expectEmit(true, true, true, false); emit IERC721.Transfer(owner, receiver, tokenId); @@ -249,9 +249,9 @@ contract ERC721Test is Test { } _transferSuccess(owner, tokenId, receiver); vm.stopPrank(); - vm.revertTo(snapshot); + vm.revertToState(snapshot); - snapshot = vm.snapshot(); + snapshot = vm.snapshotState(); vm.startPrank(approved); vm.expectEmit(true, true, true, false); emit IERC721.Transfer(owner, receiver, tokenId); @@ -279,9 +279,9 @@ contract ERC721Test is Test { } _transferSuccess(owner, tokenId, receiver); vm.stopPrank(); - vm.revertTo(snapshot); + vm.revertToState(snapshot); - snapshot = vm.snapshot(); + snapshot = vm.snapshotState(); vm.startPrank(operator); vm.expectEmit(true, true, true, false); emit IERC721.Transfer(owner, receiver, tokenId); @@ -309,9 +309,9 @@ contract ERC721Test is Test { } _transferSuccess(owner, tokenId, receiver); vm.stopPrank(); - vm.revertTo(snapshot); + vm.revertToState(snapshot); - snapshot = vm.snapshot(); + snapshot = vm.snapshotState(); vm.startPrank(owner); ERC721Extended.approve(zeroAddress, tokenId); vm.stopPrank(); @@ -342,9 +342,9 @@ contract ERC721Test is Test { } _transferSuccess(owner, tokenId, receiver); vm.stopPrank(); - vm.revertTo(snapshot); + vm.revertToState(snapshot); - snapshot = vm.snapshot(); + snapshot = vm.snapshotState(); vm.startPrank(owner); vm.expectEmit(true, true, true, false); emit IERC721.Transfer(owner, owner, tokenId); @@ -371,7 +371,7 @@ contract ERC721Test is Test { assertEq(ERC721Extended.tokenOfOwnerByIndex(owner, 0), tokenId); assertTrue(ERC721Extended.tokenOfOwnerByIndex(owner, 1) == tokenId + 1); vm.stopPrank(); - vm.revertTo(snapshot); + vm.revertToState(snapshot); /** * @dev Validates all possible reverts. @@ -408,7 +408,7 @@ contract ERC721Test is Test { address receiver, bytes memory data ) internal { - uint256 snapshot = vm.snapshot(); + uint256 snapshot = vm.snapshotState(); _shouldTransferTokensByUsers( transferFunction, owner, @@ -419,9 +419,9 @@ contract ERC721Test is Test { true, data ); - vm.revertTo(snapshot); + vm.revertToState(snapshot); - snapshot = vm.snapshot(); + snapshot = vm.snapshotState(); _shouldTransferTokensByUsers( transferFunction, owner, @@ -432,9 +432,9 @@ contract ERC721Test is Test { true, data ); - vm.revertTo(snapshot); + vm.revertToState(snapshot); - snapshot = vm.snapshot(); + snapshot = vm.snapshotState(); vm.startPrank(owner); vm.expectEmit(true, true, true, true, receiver); emit ERC721ReceiverMock.Received(owner, owner, tokenId, data); @@ -450,9 +450,9 @@ contract ERC721Test is Test { ); _transferSuccess(owner, tokenId, receiver); vm.stopPrank(); - vm.revertTo(snapshot); + vm.revertToState(snapshot); - snapshot = vm.snapshot(); + snapshot = vm.snapshotState(); vm.startPrank(approved); vm.expectEmit(true, true, true, true, receiver); emit ERC721ReceiverMock.Received(approved, owner, tokenId, data); @@ -468,7 +468,7 @@ contract ERC721Test is Test { ); _transferSuccess(owner, tokenId, receiver); vm.stopPrank(); - vm.revertTo(snapshot); + vm.revertToState(snapshot); vm.startPrank(owner); vm.expectRevert(bytes("erc721: invalid token ID"));