diff --git a/.gas-snapshot b/.gas-snapshot index 73eb0177..ce497e32 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,565 +1,565 @@ AccessControlInvariants:statefulFuzzGetRoleAdmin() (runs: 256, calls: 3840, reverts: 3840) AccessControlInvariants:statefulFuzzHasRole() (runs: 256, calls: 3840, reverts: 3840) -AccessControlTest:testFuzzGrantRoleAdminRoleSuccess(address) (runs: 256, μ: 44086, ~: 44086) -AccessControlTest:testFuzzGrantRoleMultipleTimesSuccess(address) (runs: 256, μ: 49993, ~: 49993) -AccessControlTest:testFuzzGrantRoleNonAdmin(address,address) (runs: 256, μ: 16763, ~: 16763) -AccessControlTest:testFuzzGrantRoleSuccess(address) (runs: 256, μ: 44152, ~: 44152) -AccessControlTest:testFuzzRenounceRoleMultipleTimesSuccess(address) (runs: 256, μ: 46008, ~: 45992) -AccessControlTest:testFuzzRenounceRoleNonMsgSender(address) (runs: 256, μ: 9774, ~: 9774) -AccessControlTest:testFuzzRenounceRoleSuccess(address) (runs: 256, μ: 41962, ~: 41946) -AccessControlTest:testFuzzRevokeRoleMultipleTimesSuccess(address) (runs: 256, μ: 41771, ~: 41755) -AccessControlTest:testFuzzRevokeRoleNonAdmin(address,address) (runs: 256, μ: 16717, ~: 16717) -AccessControlTest:testFuzzRevokeRoleSuccess(address) (runs: 256, μ: 40602, ~: 40585) -AccessControlTest:testFuzzSetRoleAdminPreviousAdminCallsGrantRole(address,address) (runs: 256, μ: 76299, ~: 76299) -AccessControlTest:testFuzzSetRoleAdminPreviousAdminCallsRevokeRole(address,address) (runs: 256, μ: 101846, ~: 101846) -AccessControlTest:testFuzzSetRoleAdminSuccess(address,address) (runs: 256, μ: 91059, ~: 91059) -AccessControlTest:testGrantRoleAdminRoleSuccess() (gas: 45060) -AccessControlTest:testGrantRoleMultipleTimesSuccess() (gas: 51011) -AccessControlTest:testGrantRoleNonAdmin() (gas: 15217) -AccessControlTest:testGrantRoleSuccess() (gas: 45279) -AccessControlTest:testInitialSetup() (gas: 486363) -AccessControlTest:testRenounceRoleAdminRoleSuccess() (gas: 20941) -AccessControlTest:testRenounceRoleMultipleTimesSuccess() (gas: 46842) -AccessControlTest:testRenounceRoleNonMsgSender() (gas: 10862) -AccessControlTest:testRenounceRoleSuccess() (gas: 42868) -AccessControlTest:testRevokeRoleAdminRoleSuccess() (gas: 25209) -AccessControlTest:testRevokeRoleMultipleTimesSuccess() (gas: 42641) -AccessControlTest:testRevokeRoleNonAdmin() (gas: 15305) -AccessControlTest:testRevokeRoleSuccess() (gas: 41472) -AccessControlTest:testSetRoleAdminPreviousAdminCallsGrantRole() (gas: 78896) -AccessControlTest:testSetRoleAdminPreviousAdminCallsRevokeRole() (gas: 104375) -AccessControlTest:testSetRoleAdminSuccess() (gas: 93485) +AccessControlTest:testFuzzGrantRoleAdminRoleSuccess(address) (runs: 256, μ: 44082, ~: 44082) +AccessControlTest:testFuzzGrantRoleMultipleTimesSuccess(address) (runs: 256, μ: 49983, ~: 49983) +AccessControlTest:testFuzzGrantRoleNonAdmin(address,address) (runs: 256, μ: 16471, ~: 16471) +AccessControlTest:testFuzzGrantRoleSuccess(address) (runs: 256, μ: 44148, ~: 44148) +AccessControlTest:testFuzzRenounceRoleMultipleTimesSuccess(address) (runs: 256, μ: 45997, ~: 45980) +AccessControlTest:testFuzzRenounceRoleNonMsgSender(address) (runs: 256, μ: 9483, ~: 9483) +AccessControlTest:testFuzzRenounceRoleSuccess(address) (runs: 256, μ: 41954, ~: 41938) +AccessControlTest:testFuzzRevokeRoleMultipleTimesSuccess(address) (runs: 256, μ: 41760, ~: 41744) +AccessControlTest:testFuzzRevokeRoleNonAdmin(address,address) (runs: 256, μ: 16425, ~: 16425) +AccessControlTest:testFuzzRevokeRoleSuccess(address) (runs: 256, μ: 40592, ~: 40576) +AccessControlTest:testFuzzSetRoleAdminPreviousAdminCallsGrantRole(address,address) (runs: 256, μ: 76002, ~: 76002) +AccessControlTest:testFuzzSetRoleAdminPreviousAdminCallsRevokeRole(address,address) (runs: 256, μ: 101546, ~: 101546) +AccessControlTest:testFuzzSetRoleAdminSuccess(address,address) (runs: 256, μ: 91046, ~: 91046) +AccessControlTest:testGrantRoleAdminRoleSuccess() (gas: 44827) +AccessControlTest:testGrantRoleMultipleTimesSuccess() (gas: 50772) +AccessControlTest:testGrantRoleNonAdmin() (gas: 14696) +AccessControlTest:testGrantRoleSuccess() (gas: 45046) +AccessControlTest:testInitialSetup() (gas: 479263) +AccessControlTest:testRenounceRoleAdminRoleSuccess() (gas: 20935) +AccessControlTest:testRenounceRoleMultipleTimesSuccess() (gas: 46648) +AccessControlTest:testRenounceRoleNonMsgSender() (gas: 10342) +AccessControlTest:testRenounceRoleSuccess() (gas: 42677) +AccessControlTest:testRevokeRoleAdminRoleSuccess() (gas: 24912) +AccessControlTest:testRevokeRoleMultipleTimesSuccess() (gas: 42447) +AccessControlTest:testRevokeRoleNonAdmin() (gas: 14784) +AccessControlTest:testRevokeRoleSuccess() (gas: 41280) +AccessControlTest:testSetRoleAdminPreviousAdminCallsGrantRole() (gas: 78141) +AccessControlTest:testSetRoleAdminPreviousAdminCallsRevokeRole() (gas: 103617) +AccessControlTest:testSetRoleAdminSuccess() (gas: 93014) AccessControlTest:testSupportsInterfaceInvalidInterfaceId() (gas: 8378) AccessControlTest:testSupportsInterfaceInvalidInterfaceIdGasCost() (gas: 9211) AccessControlTest:testSupportsInterfaceSuccess() (gas: 9527) AccessControlTest:testSupportsInterfaceSuccessGasCost() (gas: 9167) -Base64Test:testDataLengthMismatch() (gas: 111100) -Base64Test:testDecodeEmptyString() (gas: 103102) -Base64Test:testDecodeSafeUrl() (gas: 403600) -Base64Test:testDecodeSentence() (gas: 922077) -Base64Test:testDecodeSingleCharacter() (gas: 225069) -Base64Test:testDecodeWithDoublePadding() (gas: 301746) -Base64Test:testDecodeWithNoPadding() (gas: 252387) -Base64Test:testDecodeWithSinglePadding() (gas: 263115) -Base64Test:testEncodeEmptyString() (gas: 166208) -Base64Test:testEncodeSafeUrl() (gas: 194347) -Base64Test:testEncodeSentence() (gas: 224643) -Base64Test:testEncodeSingleCharacter() (gas: 175035) -Base64Test:testEncodeWithDoublePadding() (gas: 181246) -Base64Test:testEncodeWithNoPadding() (gas: 179971) -Base64Test:testEncodeWithSinglePadding() (gas: 181349) +Base64Test:testDataLengthMismatch() (gas: 110428) +Base64Test:testDecodeEmptyString() (gas: 102858) +Base64Test:testDecodeSafeUrl() (gas: 402212) +Base64Test:testDecodeSentence() (gas: 613716) +Base64Test:testDecodeSingleCharacter() (gas: 223933) +Base64Test:testDecodeWithDoublePadding() (gas: 300044) +Base64Test:testDecodeWithNoPadding() (gas: 250685) +Base64Test:testDecodeWithSinglePadding() (gas: 261413) +Base64Test:testEncodeEmptyString() (gas: 165964) +Base64Test:testEncodeSafeUrl() (gas: 190579) +Base64Test:testEncodeSentence() (gas: 217359) +Base64Test:testEncodeSingleCharacter() (gas: 173373) +Base64Test:testEncodeWithDoublePadding() (gas: 178882) +Base64Test:testEncodeWithNoPadding() (gas: 177869) +Base64Test:testEncodeWithSinglePadding() (gas: 178985) BatchDistributorInvariants:statefulFuzzNoEtherBalance() (runs: 256, calls: 3840, reverts: 3826) BatchDistributorInvariants:statefulFuzzNoTokenBalance() (runs: 256, calls: 3840, reverts: 3826) -BatchDistributorTest:testDistributeEtherMultipleAddressesSuccess() (gas: 158217) -BatchDistributorTest:testDistributeEtherOneAddressSuccess() (gas: 83933) -BatchDistributorTest:testDistributeEtherReentrancy() (gas: 1714970) -BatchDistributorTest:testDistributeEtherRevertWithInsufficientFunds() (gas: 87877) -BatchDistributorTest:testDistributeEtherRevertWithNoFallbackFunctionForMsgSender() (gas: 163757) -BatchDistributorTest:testDistributeEtherRevertWithNoFallbackFunctionForReceipt() (gas: 59032) -BatchDistributorTest:testDistributeEtherSendsBackExcessiveEther() (gas: 193846) -BatchDistributorTest:testDistributeTokenMultipleAddressesSuccess() (gas: 644741) -BatchDistributorTest:testDistributeTokenOneAddressSuccess() (gas: 606328) -BatchDistributorTest:testDistributeTokenRevertWithInsufficientAllowance() (gas: 601641) -BatchDistributorTest:testDistributeTokenRevertWithInsufficientBalance() (gas: 602294) -BatchDistributorTest:testFuzzDistributeEtherMultipleAddressesSuccess(((address,uint256)[]),uint256) (runs: 256, μ: 1862742, ~: 1810214) -BatchDistributorTest:testFuzzDistributeTokenMultipleAddressesSuccess(((address,uint256)[]),address,uint256) (runs: 256, μ: 1346820, ~: 1309679) -Create2AddressTest:testComputeAddress() (gas: 550587) -Create2AddressTest:testComputeAddressSelf() (gas: 559319) -Create2AddressTest:testFuzzComputeAddress(bytes32,address) (runs: 256, μ: 551182, ~: 551182) -Create2AddressTest:testFuzzComputeAddressSelf(bytes32) (runs: 256, μ: 559340, ~: 559340) -CreateAddressTest:testComputeAddressNonce0x00() (gas: 16545) -CreateAddressTest:testComputeAddressNonce0x7f() (gas: 535273) -CreateAddressTest:testComputeAddressNonceUint16() (gas: 535314) -CreateAddressTest:testComputeAddressNonceUint24() (gas: 535409) -CreateAddressTest:testComputeAddressNonceUint32() (gas: 535371) -CreateAddressTest:testComputeAddressNonceUint40() (gas: 535443) -CreateAddressTest:testComputeAddressNonceUint48() (gas: 535471) -CreateAddressTest:testComputeAddressNonceUint56() (gas: 535495) -CreateAddressTest:testComputeAddressNonceUint64() (gas: 535623) -CreateAddressTest:testComputeAddressNonceUint8() (gas: 535354) -CreateAddressTest:testComputeAddressRevertTooHighNonce() (gas: 10928) -CreateAddressTest:testComputeAddressSelfNonce0x7f() (gas: 539564) -CreateAddressTest:testComputeAddressSelfNonceUint16() (gas: 539774) -CreateAddressTest:testComputeAddressSelfNonceUint24() (gas: 539803) -CreateAddressTest:testComputeAddressSelfNonceUint32() (gas: 539899) -CreateAddressTest:testComputeAddressSelfNonceUint40() (gas: 539928) -CreateAddressTest:testComputeAddressSelfNonceUint48() (gas: 539956) -CreateAddressTest:testComputeAddressSelfNonceUint56() (gas: 539981) -CreateAddressTest:testComputeAddressSelfNonceUint64() (gas: 540089) -CreateAddressTest:testComputeAddressSelfNonceUint8() (gas: 539708) -CreateAddressTest:testComputeAddressSelfRevertTooHighNonce() (gas: 9190) -CreateAddressTest:testFuzzComputeAddressNonce0x7f(uint64,address) (runs: 256, μ: 538342, ~: 538413) -CreateAddressTest:testFuzzComputeAddressNonceUint16(uint64,address) (runs: 256, μ: 537742, ~: 538018) -CreateAddressTest:testFuzzComputeAddressNonceUint24(uint64,address) (runs: 256, μ: 537905, ~: 537993) -CreateAddressTest:testFuzzComputeAddressNonceUint32(uint64,address) (runs: 256, μ: 537883, ~: 538000) -CreateAddressTest:testFuzzComputeAddressNonceUint40(uint64,address) (runs: 256, μ: 538017, ~: 538092) -CreateAddressTest:testFuzzComputeAddressNonceUint48(uint64,address) (runs: 256, μ: 538012, ~: 538076) -CreateAddressTest:testFuzzComputeAddressNonceUint56(uint64,address) (runs: 256, μ: 538023, ~: 538101) -CreateAddressTest:testFuzzComputeAddressNonceUint64(uint64,address) (runs: 256, μ: 538090, ~: 538196) -CreateAddressTest:testFuzzComputeAddressNonceUint8(uint64,address) (runs: 256, μ: 537834, ~: 537867) -CreateAddressTest:testFuzzComputeAddressRevertTooHighNonce(uint256,address) (runs: 256, μ: 13264, ~: 13541) -CreateAddressTest:testFuzzComputeAddressSelfNonce0x7f(uint64) (runs: 256, μ: 544584, ~: 544661) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint16(uint64) (runs: 256, μ: 543801, ~: 544088) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint24(uint64) (runs: 256, μ: 544074, ~: 544140) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint32(uint64) (runs: 256, μ: 544130, ~: 544236) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint40(uint64) (runs: 256, μ: 544135, ~: 544220) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint48(uint64) (runs: 256, μ: 544227, ~: 544294) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint56(uint64) (runs: 256, μ: 544288, ~: 544360) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint64(uint64) (runs: 256, μ: 544406, ~: 544481) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint8(uint64) (runs: 256, μ: 543877, ~: 543931) -CreateAddressTest:testFuzzComputeAddressSelfRevertTooHighNonce(uint256) (runs: 256, μ: 13088, ~: 13416) -ECDSATest:testFuzzRecoverWithInvalidSignature(bytes,string) (runs: 256, μ: 15647, ~: 15652) -ECDSATest:testFuzzRecoverWithTooLongSignature(bytes,string) (runs: 256, μ: 13917, ~: 13920) -ECDSATest:testFuzzRecoverWithValidSignature(string,string) (runs: 256, μ: 22639, ~: 22700) -ECDSATest:testFuzzRecoverWithWrongMessage(string,string,bytes32) (runs: 256, μ: 22706, ~: 22762) -ECDSATest:testRecoverWith0x00Value() (gas: 15776) -ECDSATest:testRecoverWithArbitraryMessage() (gas: 21544) -ECDSATest:testRecoverWithCorrectVersion() (gas: 22286) -ECDSATest:testRecoverWithInvalidSignature() (gas: 15365) -ECDSATest:testRecoverWithTooHighSValue() (gas: 16811) -ECDSATest:testRecoverWithTooLongSignature() (gas: 13028) -ECDSATest:testRecoverWithTooShortSignature() (gas: 14545) -ECDSATest:testRecoverWithValidSignature() (gas: 21604) -ECDSATest:testRecoverWithWrongMessage() (gas: 21616) -ECDSATest:testRecoverWithWrongVersion() (gas: 15782) +BatchDistributorTest:testDistributeEtherMultipleAddressesSuccess() (gas: 135471) +BatchDistributorTest:testDistributeEtherOneAddressSuccess() (gas: 61669) +BatchDistributorTest:testDistributeEtherReentrancy() (gas: 1642700) +BatchDistributorTest:testDistributeEtherRevertWithInsufficientFunds() (gas: 65156) +BatchDistributorTest:testDistributeEtherRevertWithNoFallbackFunctionForMsgSender() (gas: 141012) +BatchDistributorTest:testDistributeEtherRevertWithNoFallbackFunctionForReceipt() (gas: 36540) +BatchDistributorTest:testDistributeEtherSendsBackExcessiveEther() (gas: 170871) +BatchDistributorTest:testDistributeTokenMultipleAddressesSuccess() (gas: 616682) +BatchDistributorTest:testDistributeTokenOneAddressSuccess() (gas: 578787) +BatchDistributorTest:testDistributeTokenRevertWithInsufficientAllowance() (gas: 573340) +BatchDistributorTest:testDistributeTokenRevertWithInsufficientBalance() (gas: 573993) +BatchDistributorTest:testFuzzDistributeEtherMultipleAddressesSuccess(((address,uint256)[]),uint256) (runs: 256, μ: 1838293, ~: 1785125) +BatchDistributorTest:testFuzzDistributeTokenMultipleAddressesSuccess(((address,uint256)[]),address,uint256) (runs: 256, μ: 1316788, ~: 1279476) +Create2AddressTest:testComputeAddress() (gas: 531976) +Create2AddressTest:testComputeAddressSelf() (gas: 540703) +Create2AddressTest:testFuzzComputeAddress(bytes32,address) (runs: 256, μ: 532571, ~: 532571) +Create2AddressTest:testFuzzComputeAddressSelf(bytes32) (runs: 256, μ: 540724, ~: 540724) +CreateAddressTest:testComputeAddressNonce0x00() (gas: 16316) +CreateAddressTest:testComputeAddressNonce0x7f() (gas: 530015) +CreateAddressTest:testComputeAddressNonceUint16() (gas: 530056) +CreateAddressTest:testComputeAddressNonceUint24() (gas: 530151) +CreateAddressTest:testComputeAddressNonceUint32() (gas: 530113) +CreateAddressTest:testComputeAddressNonceUint40() (gas: 530185) +CreateAddressTest:testComputeAddressNonceUint48() (gas: 530213) +CreateAddressTest:testComputeAddressNonceUint56() (gas: 530237) +CreateAddressTest:testComputeAddressNonceUint64() (gas: 530365) +CreateAddressTest:testComputeAddressNonceUint8() (gas: 530096) +CreateAddressTest:testComputeAddressRevertTooHighNonce() (gas: 10408) +CreateAddressTest:testComputeAddressSelfNonce0x7f() (gas: 534305) +CreateAddressTest:testComputeAddressSelfNonceUint16() (gas: 534515) +CreateAddressTest:testComputeAddressSelfNonceUint24() (gas: 534544) +CreateAddressTest:testComputeAddressSelfNonceUint32() (gas: 534640) +CreateAddressTest:testComputeAddressSelfNonceUint40() (gas: 534669) +CreateAddressTest:testComputeAddressSelfNonceUint48() (gas: 534697) +CreateAddressTest:testComputeAddressSelfNonceUint56() (gas: 534722) +CreateAddressTest:testComputeAddressSelfNonceUint64() (gas: 534830) +CreateAddressTest:testComputeAddressSelfNonceUint8() (gas: 534449) +CreateAddressTest:testComputeAddressSelfRevertTooHighNonce() (gas: 8899) +CreateAddressTest:testFuzzComputeAddressNonce0x7f(uint64,address) (runs: 256, μ: 532982, ~: 533050) +CreateAddressTest:testFuzzComputeAddressNonceUint16(uint64,address) (runs: 256, μ: 532363, ~: 532652) +CreateAddressTest:testFuzzComputeAddressNonceUint24(uint64,address) (runs: 256, μ: 532545, ~: 532629) +CreateAddressTest:testFuzzComputeAddressNonceUint32(uint64,address) (runs: 256, μ: 532533, ~: 532636) +CreateAddressTest:testFuzzComputeAddressNonceUint40(uint64,address) (runs: 256, μ: 532660, ~: 532728) +CreateAddressTest:testFuzzComputeAddressNonceUint48(uint64,address) (runs: 256, μ: 532649, ~: 532712) +CreateAddressTest:testFuzzComputeAddressNonceUint56(uint64,address) (runs: 256, μ: 532660, ~: 532737) +CreateAddressTest:testFuzzComputeAddressNonceUint64(uint64,address) (runs: 256, μ: 532738, ~: 532832) +CreateAddressTest:testFuzzComputeAddressNonceUint8(uint64,address) (runs: 256, μ: 532455, ~: 532503) +CreateAddressTest:testFuzzComputeAddressRevertTooHighNonce(uint256,address) (runs: 256, μ: 12870, ~: 13145) +CreateAddressTest:testFuzzComputeAddressSelfNonce0x7f(uint64) (runs: 256, μ: 539230, ~: 539297) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint16(uint64) (runs: 256, μ: 538431, ~: 538725) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint24(uint64) (runs: 256, μ: 538712, ~: 538777) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint32(uint64) (runs: 256, μ: 538781, ~: 538873) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint40(uint64) (runs: 256, μ: 538778, ~: 538857) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint48(uint64) (runs: 256, μ: 538868, ~: 538931) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint56(uint64) (runs: 256, μ: 538929, ~: 538997) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint64(uint64) (runs: 256, μ: 539037, ~: 539118) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint8(uint64) (runs: 256, μ: 538520, ~: 538568) +CreateAddressTest:testFuzzComputeAddressSelfRevertTooHighNonce(uint256) (runs: 256, μ: 12687, ~: 12618) +ECDSATest:testFuzzRecoverWithInvalidSignature(bytes,string) (runs: 256, μ: 15356, ~: 15361) +ECDSATest:testFuzzRecoverWithTooLongSignature(bytes,string) (runs: 256, μ: 13748, ~: 13751) +ECDSATest:testFuzzRecoverWithValidSignature(string,string) (runs: 256, μ: 21685, ~: 21690) +ECDSATest:testFuzzRecoverWithWrongMessage(string,string,bytes32) (runs: 256, μ: 21761, ~: 21760) +ECDSATest:testRecoverWith0x00Value() (gas: 14956) +ECDSATest:testRecoverWithArbitraryMessage() (gas: 20662) +ECDSATest:testRecoverWithCorrectVersion() (gas: 21116) +ECDSATest:testRecoverWithInvalidSignature() (gas: 14689) +ECDSATest:testRecoverWithTooHighSValue() (gas: 15808) +ECDSATest:testRecoverWithTooLongSignature() (gas: 12562) +ECDSATest:testRecoverWithTooShortSignature() (gas: 14149) +ECDSATest:testRecoverWithValidSignature() (gas: 20722) +ECDSATest:testRecoverWithWrongMessage() (gas: 20734) +ECDSATest:testRecoverWithWrongVersion() (gas: 14962) EIP712DomainSeparatorTest:testCachedDomainSeparatorV4() (gas: 10476) EIP712DomainSeparatorTest:testDomainSeparatorV4() (gas: 11731) -EIP712DomainSeparatorTest:testEIP712Domain() (gas: 18661) +EIP712DomainSeparatorTest:testEIP712Domain() (gas: 18037) EIP712DomainSeparatorTest:testFuzzDomainSeparatorV4(uint8) (runs: 256, μ: 11884, ~: 11906) -EIP712DomainSeparatorTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 22077, ~: 22148) -EIP712DomainSeparatorTest:testFuzzHashTypedDataV4(address,address,uint256,uint256,uint64) (runs: 256, μ: 10685, ~: 10685) -EIP712DomainSeparatorTest:testHashTypedDataV4() (gas: 13631) +EIP712DomainSeparatorTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21457, ~: 21524) +EIP712DomainSeparatorTest:testFuzzHashTypedDataV4(address,address,uint256,uint256,uint64) (runs: 256, μ: 10679, ~: 10679) +EIP712DomainSeparatorTest:testHashTypedDataV4() (gas: 13167) ERC1155Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3464) -ERC1155Test:testBalanceOfBatchCase1() (gas: 280930) -ERC1155Test:testBalanceOfBatchCase2() (gas: 235522) -ERC1155Test:testBalanceOfBatchCase3() (gas: 37782) -ERC1155Test:testBalanceOfBatchLengthsMismatch() (gas: 27123) -ERC1155Test:testBalanceOfCase1() (gas: 146545) -ERC1155Test:testBalanceOfCase2() (gas: 22353) -ERC1155Test:testBurnAmountExceedsBalance() (gas: 130253) -ERC1155Test:testBurnBatchAmountExceedsBalance() (gas: 197556) -ERC1155Test:testBurnBatchByApprovedOperator() (gas: 251134) -ERC1155Test:testBurnBatchByNotApprovedOperator() (gas: 32151) -ERC1155Test:testBurnBatchFromZeroAddress() (gas: 26237) -ERC1155Test:testBurnBatchLengthsMismatch() (gas: 42180) -ERC1155Test:testBurnBatchNonExistentTokenIds() (gas: 28546) -ERC1155Test:testBurnBatchSuccess() (gas: 216070) -ERC1155Test:testBurnByApprovedOperator() (gas: 198894) -ERC1155Test:testBurnByNotApprovedOperator() (gas: 148698) -ERC1155Test:testBurnFromZeroAddress() (gas: 17602) -ERC1155Test:testBurnNonExistentTokenId() (gas: 21780) -ERC1155Test:testBurnSuccess() (gas: 143188) -ERC1155Test:testExistsAfterBatchBurn() (gas: 132444) -ERC1155Test:testExistsAfterBatchMint() (gas: 143983) -ERC1155Test:testExistsAfterSingleBurn() (gas: 138552) -ERC1155Test:testExistsAfterSingleMint() (gas: 119763) +ERC1155Test:testBalanceOfBatchCase1() (gas: 275438) +ERC1155Test:testBalanceOfBatchCase2() (gas: 230030) +ERC1155Test:testBalanceOfBatchCase3() (gas: 37418) +ERC1155Test:testBalanceOfBatchLengthsMismatch() (gas: 25995) +ERC1155Test:testBalanceOfCase1() (gas: 143617) +ERC1155Test:testBalanceOfCase2() (gas: 21807) +ERC1155Test:testBurnAmountExceedsBalance() (gas: 126668) +ERC1155Test:testBurnBatchAmountExceedsBalance() (gas: 195438) +ERC1155Test:testBurnBatchByApprovedOperator() (gas: 249048) +ERC1155Test:testBurnBatchByNotApprovedOperator() (gas: 31496) +ERC1155Test:testBurnBatchFromZeroAddress() (gas: 25702) +ERC1155Test:testBurnBatchLengthsMismatch() (gas: 40928) +ERC1155Test:testBurnBatchNonExistentTokenIds() (gas: 27585) +ERC1155Test:testBurnBatchSuccess() (gas: 214135) +ERC1155Test:testBurnByApprovedOperator() (gas: 195222) +ERC1155Test:testBurnByNotApprovedOperator() (gas: 145479) +ERC1155Test:testBurnFromZeroAddress() (gas: 17311) +ERC1155Test:testBurnNonExistentTokenId() (gas: 20941) +ERC1155Test:testBurnSuccess() (gas: 139522) +ERC1155Test:testExistsAfterBatchBurn() (gas: 130508) +ERC1155Test:testExistsAfterBatchMint() (gas: 142296) +ERC1155Test:testExistsAfterSingleBurn() (gas: 134886) +ERC1155Test:testExistsAfterSingleMint() (gas: 116835) ERC1155Test:testExistsBeforeMint() (gas: 10481) -ERC1155Test:testFuzzBurnBatchSuccess(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 133441, ~: 133452) -ERC1155Test:testFuzzBurnSuccess(address,address,uint256) (runs: 256, μ: 141155, ~: 141155) -ERC1155Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 14072, ~: 14072) -ERC1155Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48765, ~: 48749) -ERC1155Test:testFuzzSafeBatchTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 226913, ~: 226885) -ERC1155Test:testFuzzSafeBatchTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 191438, ~: 191419) -ERC1155Test:testFuzzSafeBatchTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 565346, ~: 565366) -ERC1155Test:testFuzzSafeBatchTransferFromWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 565894, ~: 566336) -ERC1155Test:testFuzzSafeMintBatchEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 153559, ~: 153559) -ERC1155Test:testFuzzSafeMintBatchNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 521268, ~: 521288) -ERC1155Test:testFuzzSafeMintBatchNonMinter(address) (runs: 256, μ: 40974, ~: 40974) -ERC1155Test:testFuzzSafeMintBatchWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 521639, ~: 521884) -ERC1155Test:testFuzzSafeMintEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 152651, ~: 152639) -ERC1155Test:testFuzzSafeMintNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 521480, ~: 521500) -ERC1155Test:testFuzzSafeMintNonMinter(address) (runs: 256, μ: 33388, ~: 33388) -ERC1155Test:testFuzzSafeMintWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 522809, ~: 522368) -ERC1155Test:testFuzzSafeTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 205997, ~: 205960) -ERC1155Test:testFuzzSafeTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 170609, ~: 170581) -ERC1155Test:testFuzzSafeTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 609294, ~: 609314) -ERC1155Test:testFuzzSafeTransferFromWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 611364, ~: 610576) -ERC1155Test:testFuzzSetApprovalForAllRevoke(address,address) (runs: 256, μ: 31981, ~: 31952) -ERC1155Test:testFuzzSetApprovalForAllSuccess(address,address) (runs: 256, μ: 45362, ~: 45362) -ERC1155Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15868, ~: 15867) -ERC1155Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33774, ~: 33774) -ERC1155Test:testFuzzSetUriNonMinter(address) (runs: 256, μ: 14529, ~: 14529) -ERC1155Test:testFuzzTotalSupplyAfterBatchBurn(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 127014, ~: 127024) -ERC1155Test:testFuzzTotalSupplyAfterBatchMint(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 141748, ~: 141830) -ERC1155Test:testFuzzTotalSupplyAfterSingleBurn(address,uint256,bytes) (runs: 256, μ: 138493, ~: 138464) -ERC1155Test:testFuzzTotalSupplyAfterSingleMint(uint256,uint256,bytes) (runs: 256, μ: 89980, ~: 60667) -ERC1155Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14181, ~: 14181) -ERC1155Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75755, ~: 75725) -ERC1155Test:testHasOwner() (gas: 12615) -ERC1155Test:testInitialSetup() (gas: 2967829) -ERC1155Test:testRenounceOwnershipNonOwner() (gas: 11013) -ERC1155Test:testRenounceOwnershipSuccess() (gas: 22927) -ERC1155Test:testSafeBatchTransferFromByApprovedOperator() (gas: 341106) -ERC1155Test:testSafeBatchTransferFromByNotApprovedOperator() (gas: 261328) -ERC1155Test:testSafeBatchTransferFromEOAReceiver() (gas: 297502) -ERC1155Test:testSafeBatchTransferFromInsufficientBalance() (gas: 268076) -ERC1155Test:testSafeBatchTransferFromLengthsMismatch() (gas: 64522) -ERC1155Test:testSafeBatchTransferFromNoData() (gas: 673565) -ERC1155Test:testSafeBatchTransferFromReceiverFunctionNotImplemented() (gas: 280997) -ERC1155Test:testSafeBatchTransferFromReceiverInvalidReturnIdentifier() (gas: 649402) -ERC1155Test:testSafeBatchTransferFromReceiverReverts() (gas: 642559) -ERC1155Test:testSafeBatchTransferFromReceiverRevertsOnlySingle() (gas: 673628) -ERC1155Test:testSafeBatchTransferFromToZeroAddress() (gas: 257956) -ERC1155Test:testSafeBatchTransferFromWithData() (gas: 675334) -ERC1155Test:testSafeMintBatchEOAReceiver() (gas: 249261) -ERC1155Test:testSafeMintBatchLengthsMismatch() (gas: 66906) -ERC1155Test:testSafeMintBatchNoData() (gas: 618468) -ERC1155Test:testSafeMintBatchNonMinter() (gas: 39963) -ERC1155Test:testSafeMintBatchOverflow() (gas: 265262) -ERC1155Test:testSafeMintBatchReceiverFunctionNotImplemented() (gas: 226871) -ERC1155Test:testSafeMintBatchReceiverInvalidReturnIdentifier() (gas: 599385) -ERC1155Test:testSafeMintBatchReceiverReverts() (gas: 592518) -ERC1155Test:testSafeMintBatchReceiverRevertsOnlySingle() (gas: 618445) -ERC1155Test:testSafeMintBatchToZeroAddress() (gas: 41075) -ERC1155Test:testSafeMintBatchWithData() (gas: 619318) -ERC1155Test:testSafeMintEOAReceiver() (gas: 149858) -ERC1155Test:testSafeMintNoData() (gas: 518070) -ERC1155Test:testSafeMintNonMinter() (gas: 32335) -ERC1155Test:testSafeMintOverflow() (gas: 92134) -ERC1155Test:testSafeMintReceiverFunctionNotImplemented() (gas: 136378) -ERC1155Test:testSafeMintReceiverInvalidReturnIdentifier() (gas: 508584) -ERC1155Test:testSafeMintReceiverReverts() (gas: 501937) -ERC1155Test:testSafeMintToZeroAddress() (gas: 33500) -ERC1155Test:testSafeMintWithData() (gas: 519871) -ERC1155Test:testSafeTransferFromByApprovedOperator() (gas: 206458) -ERC1155Test:testSafeTransferFromByNotApprovedOperator() (gas: 151289) -ERC1155Test:testSafeTransferFromEOAReceiver() (gas: 169840) -ERC1155Test:testSafeTransferFromInsufficientBalance() (gas: 90132) -ERC1155Test:testSafeTransferFromNoData() (gas: 607095) -ERC1155Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 206293) -ERC1155Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 578556) -ERC1155Test:testSafeTransferFromReceiverReverts() (gas: 571866) -ERC1155Test:testSafeTransferFromToZeroAddress() (gas: 87718) -ERC1155Test:testSafeTransferFromWithData() (gas: 610524) -ERC1155Test:testSetApprovalForAllRevoke() (gas: 34220) -ERC1155Test:testSetApprovalForAllSuccess() (gas: 48080) -ERC1155Test:testSetApprovalForAllToSelf() (gas: 11334) -ERC1155Test:testSetMinterNonOwner() (gas: 12812) -ERC1155Test:testSetMinterRemoveOwnerAddress() (gas: 13776) -ERC1155Test:testSetMinterSuccess() (gas: 33606) -ERC1155Test:testSetMinterToZeroAddress() (gas: 15998) -ERC1155Test:testSetUri() (gas: 69238) -ERC1155Test:testSetUriEmpty() (gas: 27508) -ERC1155Test:testSetUriNonMinter() (gas: 13555) +ERC1155Test:testFuzzBurnBatchSuccess(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 131635, ~: 131625) +ERC1155Test:testFuzzBurnSuccess(address,address,uint256) (runs: 256, μ: 137843, ~: 137853) +ERC1155Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13962, ~: 13962) +ERC1155Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48760, ~: 48744) +ERC1155Test:testFuzzSafeBatchTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 223955, ~: 223927) +ERC1155Test:testFuzzSafeBatchTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 188496, ~: 188467) +ERC1155Test:testFuzzSafeBatchTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 557952, ~: 557962) +ERC1155Test:testFuzzSafeBatchTransferFromWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 558380, ~: 558664) +ERC1155Test:testFuzzSafeMintBatchEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 152105, ~: 152095) +ERC1155Test:testFuzzSafeMintBatchNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 515444, ~: 515454) +ERC1155Test:testFuzzSafeMintBatchNonMinter(address) (runs: 256, μ: 40642, ~: 40642) +ERC1155Test:testFuzzSafeMintBatchWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 515752, ~: 515910) +ERC1155Test:testFuzzSafeMintEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 150179, ~: 150157) +ERC1155Test:testFuzzSafeMintNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 514468, ~: 514478) +ERC1155Test:testFuzzSafeMintNonMinter(address) (runs: 256, μ: 32906, ~: 32906) +ERC1155Test:testFuzzSafeMintWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 515620, ~: 515276) +ERC1155Test:testFuzzSafeTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 202241, ~: 202204) +ERC1155Test:testFuzzSafeTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 166869, ~: 166831) +ERC1155Test:testFuzzSafeTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 599394, ~: 599404) +ERC1155Test:testFuzzSafeTransferFromWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 601446, ~: 600760) +ERC1155Test:testFuzzSetApprovalForAllRevoke(address,address) (runs: 256, μ: 31971, ~: 31942) +ERC1155Test:testFuzzSetApprovalForAllSuccess(address,address) (runs: 256, μ: 45350, ~: 45350) +ERC1155Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15510, ~: 15511) +ERC1155Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33573, ~: 33584) +ERC1155Test:testFuzzSetUriNonMinter(address) (runs: 256, μ: 14420, ~: 14420) +ERC1155Test:testFuzzTotalSupplyAfterBatchBurn(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 125208, ~: 125198) +ERC1155Test:testFuzzTotalSupplyAfterBatchMint(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 140221, ~: 140261) +ERC1155Test:testFuzzTotalSupplyAfterSingleBurn(address,uint256,bytes) (runs: 256, μ: 134909, ~: 134880) +ERC1155Test:testFuzzTotalSupplyAfterSingleMint(uint256,uint256,bytes) (runs: 256, μ: 87600, ~: 87641) +ERC1155Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14071, ~: 14071) +ERC1155Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75748, ~: 75719) +ERC1155Test:testHasOwner() (gas: 12614) +ERC1155Test:testInitialSetup() (gas: 2784641) +ERC1155Test:testRenounceOwnershipNonOwner() (gas: 10903) +ERC1155Test:testRenounceOwnershipSuccess() (gas: 22923) +ERC1155Test:testSafeBatchTransferFromByApprovedOperator() (gas: 337520) +ERC1155Test:testSafeBatchTransferFromByNotApprovedOperator() (gas: 258945) +ERC1155Test:testSafeBatchTransferFromEOAReceiver() (gas: 294751) +ERC1155Test:testSafeBatchTransferFromInsufficientBalance() (gas: 265131) +ERC1155Test:testSafeBatchTransferFromLengthsMismatch() (gas: 62750) +ERC1155Test:testSafeBatchTransferFromNoData() (gas: 665979) +ERC1155Test:testSafeBatchTransferFromReceiverFunctionNotImplemented() (gas: 278327) +ERC1155Test:testSafeBatchTransferFromReceiverInvalidReturnIdentifier() (gas: 641566) +ERC1155Test:testSafeBatchTransferFromReceiverReverts() (gas: 634852) +ERC1155Test:testSafeBatchTransferFromReceiverRevertsOnlySingle() (gas: 666042) +ERC1155Test:testSafeBatchTransferFromToZeroAddress() (gas: 255565) +ERC1155Test:testSafeBatchTransferFromWithData() (gas: 667212) +ERC1155Test:testSafeMintBatchEOAReceiver() (gas: 247574) +ERC1155Test:testSafeMintBatchLengthsMismatch() (gas: 65848) +ERC1155Test:testSafeMintBatchNoData() (gas: 612634) +ERC1155Test:testSafeMintBatchNonMinter() (gas: 39449) +ERC1155Test:testSafeMintBatchOverflow() (gas: 262802) +ERC1155Test:testSafeMintBatchReceiverFunctionNotImplemented() (gas: 225244) +ERC1155Test:testSafeMintBatchReceiverInvalidReturnIdentifier() (gas: 593260) +ERC1155Test:testSafeMintBatchReceiverReverts() (gas: 586522) +ERC1155Test:testSafeMintBatchReceiverRevertsOnlySingle() (gas: 612611) +ERC1155Test:testSafeMintBatchToZeroAddress() (gas: 40377) +ERC1155Test:testSafeMintBatchWithData() (gas: 613204) +ERC1155Test:testSafeMintEOAReceiver() (gas: 147112) +ERC1155Test:testSafeMintNoData() (gas: 511048) +ERC1155Test:testSafeMintNonMinter() (gas: 31671) +ERC1155Test:testSafeMintOverflow() (gas: 90019) +ERC1155Test:testSafeMintReceiverFunctionNotImplemented() (gas: 133570) +ERC1155Test:testSafeMintReceiverInvalidReturnIdentifier() (gas: 500980) +ERC1155Test:testSafeMintReceiverReverts() (gas: 494591) +ERC1155Test:testSafeMintToZeroAddress() (gas: 32592) +ERC1155Test:testSafeMintWithData() (gas: 512289) +ERC1155Test:testSafeTransferFromByApprovedOperator() (gas: 202033) +ERC1155Test:testSafeTransferFromByNotApprovedOperator() (gas: 147847) +ERC1155Test:testSafeTransferFromEOAReceiver() (gas: 165603) +ERC1155Test:testSafeTransferFromInsufficientBalance() (gas: 87532) +ERC1155Test:testSafeTransferFromNoData() (gas: 597003) +ERC1155Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 200497) +ERC1155Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 567964) +ERC1155Test:testSafeTransferFromReceiverReverts() (gas: 561532) +ERC1155Test:testSafeTransferFromToZeroAddress() (gas: 85794) +ERC1155Test:testSafeTransferFromWithData() (gas: 599360) +ERC1155Test:testSetApprovalForAllRevoke() (gas: 33920) +ERC1155Test:testSetApprovalForAllSuccess() (gas: 47704) +ERC1155Test:testSetApprovalForAllToSelf() (gas: 10855) +ERC1155Test:testSetMinterNonOwner() (gas: 12520) +ERC1155Test:testSetMinterRemoveOwnerAddress() (gas: 13666) +ERC1155Test:testSetMinterSuccess() (gas: 33459) +ERC1155Test:testSetMinterToZeroAddress() (gas: 15706) +ERC1155Test:testSetUri() (gas: 67308) +ERC1155Test:testSetUriEmpty() (gas: 25898) +ERC1155Test:testSetUriNonMinter() (gas: 13264) ERC1155Test:testSupportsInterfaceInvalidInterfaceId() (gas: 8402) ERC1155Test:testSupportsInterfaceInvalidInterfaceIdGasCost() (gas: 9280) ERC1155Test:testSupportsInterfaceSuccess() (gas: 10924) ERC1155Test:testSupportsInterfaceSuccessGasCost() (gas: 9387) -ERC1155Test:testTotalSupplyAfterBatchBurn() (gas: 132412) -ERC1155Test:testTotalSupplyAfterBatchMint() (gas: 143944) -ERC1155Test:testTotalSupplyAfterSingleBurn() (gas: 135355) -ERC1155Test:testTotalSupplyAfterSingleMint() (gas: 119707) +ERC1155Test:testTotalSupplyAfterBatchBurn() (gas: 130477) +ERC1155Test:testTotalSupplyAfterBatchMint() (gas: 142257) +ERC1155Test:testTotalSupplyAfterSingleBurn() (gas: 131689) +ERC1155Test:testTotalSupplyAfterSingleMint() (gas: 116779) ERC1155Test:testTotalSupplyBeforeMint() (gas: 10460) -ERC1155Test:testTransferOwnershipNonOwner() (gas: 12747) -ERC1155Test:testTransferOwnershipSuccess() (gas: 54052) -ERC1155Test:testTransferOwnershipToZeroAddress() (gas: 15902) -ERC1155Test:testUriBaseAndTokenUriNotSet() (gas: 2923552) -ERC1155Test:testUriBaseAndTokenUriSet() (gas: 65810) -ERC1155Test:testUriNoBaseURI() (gas: 2973614) -ERC1155Test:testUriNoTokenUri() (gas: 20507) -ERC20Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3406) -ERC20Invariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3406) -ERC20Test:testApproveExceedingBalanceCase1() (gas: 40983) -ERC20Test:testApproveExceedingBalanceCase2() (gas: 48004) -ERC20Test:testApproveFromZeroAddress() (gas: 13438) -ERC20Test:testApproveSuccessCase1() (gas: 43686) -ERC20Test:testApproveSuccessCase2() (gas: 50789) -ERC20Test:testApproveToZeroAddress() (gas: 16731) -ERC20Test:testBalanceOf() (gas: 18674) -ERC20Test:testBurnFromExceedingBalance() (gas: 31343) -ERC20Test:testBurnFromFromZeroAddress() (gas: 15812) -ERC20Test:testBurnFromInsufficientAllowanceCase1() (gas: 41740) -ERC20Test:testBurnFromInsufficientAllowanceCase2() (gas: 41771) -ERC20Test:testBurnFromSuccessCase1() (gas: 40310) -ERC20Test:testBurnFromSuccessCase2() (gas: 65863) -ERC20Test:testBurnFromUnlimitedAllowance() (gas: 50663) -ERC20Test:testBurnFromZeroAddress() (gas: 11542) -ERC20Test:testBurnInvalidAmount() (gas: 14718) +ERC1155Test:testTransferOwnershipNonOwner() (gas: 12455) +ERC1155Test:testTransferOwnershipSuccess() (gas: 53866) +ERC1155Test:testTransferOwnershipToZeroAddress() (gas: 15610) +ERC1155Test:testUriBaseAndTokenUriNotSet() (gas: 2743473) +ERC1155Test:testUriBaseAndTokenUriSet() (gas: 64201) +ERC1155Test:testUriNoBaseURI() (gas: 2792872) +ERC1155Test:testUriNoTokenUri() (gas: 18859) +ERC20Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3405) +ERC20Invariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3405) +ERC20Test:testApproveExceedingBalanceCase1() (gas: 40805) +ERC20Test:testApproveExceedingBalanceCase2() (gas: 47826) +ERC20Test:testApproveFromZeroAddress() (gas: 12969) +ERC20Test:testApproveSuccessCase1() (gas: 43508) +ERC20Test:testApproveSuccessCase2() (gas: 50611) +ERC20Test:testApproveToZeroAddress() (gas: 16440) +ERC20Test:testBalanceOf() (gas: 18496) +ERC20Test:testBurnFromExceedingBalance() (gas: 30963) +ERC20Test:testBurnFromFromZeroAddress() (gas: 15337) +ERC20Test:testBurnFromInsufficientAllowanceCase1() (gas: 41453) +ERC20Test:testBurnFromInsufficientAllowanceCase2() (gas: 41484) +ERC20Test:testBurnFromSuccessCase1() (gas: 40126) +ERC20Test:testBurnFromSuccessCase2() (gas: 65679) +ERC20Test:testBurnFromUnlimitedAllowance() (gas: 50485) +ERC20Test:testBurnFromZeroAddress() (gas: 11251) +ERC20Test:testBurnInvalidAmount() (gas: 14427) ERC20Test:testBurnSuccessCase1() (gas: 25797) ERC20Test:testBurnSuccessCase2() (gas: 31362) ERC20Test:testCachedDomainSeparator() (gas: 10601) ERC20Test:testDomainSeparator() (gas: 11831) -ERC20Test:testEIP712Domain() (gas: 18815) +ERC20Test:testEIP712Domain() (gas: 18191) ERC20Test:testFuzzApproveSuccess(address,uint256) (runs: 256, μ: 41125, ~: 41203) -ERC20Test:testFuzzBurnFromInsufficientAllowance(address,uint256,uint8) (runs: 256, μ: 207481, ~: 207496) -ERC20Test:testFuzzBurnFromSuccess(address,uint256) (runs: 256, μ: 341563, ~: 341431) -ERC20Test:testFuzzBurnInvalidAmount(address,uint256) (runs: 256, μ: 16673, ~: 16673) -ERC20Test:testFuzzBurnSuccessCase(uint256) (runs: 256, μ: 316150, ~: 315924) -ERC20Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 12044, ~: 12067) -ERC20Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 22337, ~: 22401) -ERC20Test:testFuzzMintNonMinter(string,uint256) (runs: 256, μ: 13268, ~: 13267) -ERC20Test:testFuzzMintSuccess(string,uint256) (runs: 256, μ: 55571, ~: 55954) -ERC20Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 45418, ~: 45415) -ERC20Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 71131, ~: 71134) -ERC20Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 14051, ~: 14051) -ERC20Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48676, ~: 48660) -ERC20Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15873, ~: 15872) -ERC20Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33792, ~: 33792) -ERC20Test:testFuzzTransferFromInsufficientAllowance(address,address,uint256,uint8) (runs: 256, μ: 205848, ~: 206007) -ERC20Test:testFuzzTransferFromSuccess(address,address,uint256) (runs: 256, μ: 235575, ~: 235531) -ERC20Test:testFuzzTransferInvalidAmount(address,address,uint256) (runs: 256, μ: 17068, ~: 17068) -ERC20Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14163, ~: 14163) -ERC20Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75701, ~: 75672) -ERC20Test:testFuzzTransferSuccess(address,uint256) (runs: 256, μ: 206866, ~: 206928) -ERC20Test:testHasOwner() (gas: 12659) -ERC20Test:testInitialSetup() (gas: 1640990) -ERC20Test:testMintNonMinter() (gas: 12751) -ERC20Test:testMintOverflow() (gas: 16974) -ERC20Test:testMintSuccess() (gas: 52004) -ERC20Test:testMintToZeroAddress() (gas: 15711) -ERC20Test:testPermitBadChainId() (gas: 43938) -ERC20Test:testPermitBadNonce() (gas: 41056) -ERC20Test:testPermitExpiredDeadline() (gas: 17522) -ERC20Test:testPermitOtherSignature() (gas: 42020) -ERC20Test:testPermitReplaySignature() (gas: 73914) -ERC20Test:testPermitSuccess() (gas: 70104) -ERC20Test:testRenounceOwnershipNonOwner() (gas: 10928) -ERC20Test:testRenounceOwnershipSuccess() (gas: 22925) -ERC20Test:testSetMinterNonOwner() (gas: 12816) -ERC20Test:testSetMinterRemoveOwnerAddress() (gas: 13715) -ERC20Test:testSetMinterSuccess() (gas: 33536) -ERC20Test:testSetMinterToZeroAddress() (gas: 15936) +ERC20Test:testFuzzBurnFromInsufficientAllowance(address,uint256,uint8) (runs: 256, μ: 205994, ~: 206071) +ERC20Test:testFuzzBurnFromSuccess(address,uint256) (runs: 256, μ: 339783, ~: 339652) +ERC20Test:testFuzzBurnInvalidAmount(address,uint256) (runs: 256, μ: 16382, ~: 16382) +ERC20Test:testFuzzBurnSuccessCase(uint256) (runs: 256, μ: 314380, ~: 314151) +ERC20Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 12045, ~: 12067) +ERC20Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21712, ~: 21777) +ERC20Test:testFuzzMintNonMinter(string,uint256) (runs: 256, μ: 12915, ~: 12916) +ERC20Test:testFuzzMintSuccess(string,uint256) (runs: 256, μ: 55293, ~: 55531) +ERC20Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 44588, ~: 44584) +ERC20Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70582, ~: 70584) +ERC20Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13941, ~: 13941) +ERC20Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48670, ~: 48654) +ERC20Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15519, ~: 15520) +ERC20Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33594, ~: 33604) +ERC20Test:testFuzzTransferFromInsufficientAllowance(address,address,uint256,uint8) (runs: 256, μ: 204418, ~: 204581) +ERC20Test:testFuzzTransferFromSuccess(address,address,uint256) (runs: 256, μ: 234205, ~: 234156) +ERC20Test:testFuzzTransferInvalidAmount(address,address,uint256) (runs: 256, μ: 16762, ~: 16762) +ERC20Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14053, ~: 14053) +ERC20Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75695, ~: 75665) +ERC20Test:testFuzzTransferSuccess(address,uint256) (runs: 256, μ: 205588, ~: 205650) +ERC20Test:testHasOwner() (gas: 12658) +ERC20Test:testInitialSetup() (gas: 1568990) +ERC20Test:testMintNonMinter() (gas: 12464) +ERC20Test:testMintOverflow() (gas: 16790) +ERC20Test:testMintSuccess() (gas: 51814) +ERC20Test:testMintToZeroAddress() (gas: 15602) +ERC20Test:testPermitBadChainId() (gas: 43413) +ERC20Test:testPermitBadNonce() (gas: 40531) +ERC20Test:testPermitExpiredDeadline() (gas: 17057) +ERC20Test:testPermitOtherSignature() (gas: 41495) +ERC20Test:testPermitReplaySignature() (gas: 73323) +ERC20Test:testPermitSuccess() (gas: 69682) +ERC20Test:testRenounceOwnershipNonOwner() (gas: 10818) +ERC20Test:testRenounceOwnershipSuccess() (gas: 22921) +ERC20Test:testSetMinterNonOwner() (gas: 12528) +ERC20Test:testSetMinterRemoveOwnerAddress() (gas: 13605) +ERC20Test:testSetMinterSuccess() (gas: 33392) +ERC20Test:testSetMinterToZeroAddress() (gas: 15644) ERC20Test:testTotalSupply() (gas: 11561) -ERC20Test:testTransferFromExceedingBalance() (gas: 32754) -ERC20Test:testTransferFromFromZeroAddress() (gas: 18009) -ERC20Test:testTransferFromInsufficientAllowanceCase1() (gas: 43555) -ERC20Test:testTransferFromInsufficientAllowanceCase2() (gas: 43564) -ERC20Test:testTransferFromSuccess() (gas: 61800) -ERC20Test:testTransferFromToZeroAddress() (gas: 32817) -ERC20Test:testTransferFromUnlimitedAllowance() (gas: 72147) -ERC20Test:testTransferFromZeroAddress() (gas: 19910) -ERC20Test:testTransferInvalidAmount() (gas: 15692) -ERC20Test:testTransferOwnershipNonOwner() (gas: 12706) -ERC20Test:testTransferOwnershipSuccess() (gas: 54050) -ERC20Test:testTransferOwnershipToZeroAddress() (gas: 15816) -ERC20Test:testTransferSuccess() (gas: 43267) -ERC20Test:testTransferToZeroAddress() (gas: 16676) -ERC20Test:testTransferZeroTokens() (gas: 25440) +ERC20Test:testTransferFromExceedingBalance() (gas: 32215) +ERC20Test:testTransferFromFromZeroAddress() (gas: 17534) +ERC20Test:testTransferFromInsufficientAllowanceCase1() (gas: 43090) +ERC20Test:testTransferFromInsufficientAllowanceCase2() (gas: 43099) +ERC20Test:testTransferFromSuccess() (gas: 61482) +ERC20Test:testTransferFromToZeroAddress() (gas: 32432) +ERC20Test:testTransferFromUnlimitedAllowance() (gas: 71755) +ERC20Test:testTransferFromZeroAddress() (gas: 19441) +ERC20Test:testTransferInvalidAmount() (gas: 15208) +ERC20Test:testTransferOwnershipNonOwner() (gas: 12418) +ERC20Test:testTransferOwnershipSuccess() (gas: 53868) +ERC20Test:testTransferOwnershipToZeroAddress() (gas: 15524) +ERC20Test:testTransferSuccess() (gas: 43059) +ERC20Test:testTransferToZeroAddress() (gas: 16385) +ERC20Test:testTransferZeroTokens() (gas: 25232) ERC2981Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3840) -ERC2981Test:testDeleteDefaultRoyaltyNonOwner() (gas: 10656) -ERC2981Test:testFuzzDeleteDefaultRoyaltyNonOwner(address) (runs: 256, μ: 13390, ~: 13390) -ERC2981Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 14045, ~: 14045) -ERC2981Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 25274, ~: 25274) -ERC2981Test:testFuzzResetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 96768, ~: 97972) -ERC2981Test:testFuzzResetTokenRoyaltyNonOwner(address) (runs: 256, μ: 13342, ~: 13342) -ERC2981Test:testFuzzRoyaltyInfoDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 80853, ~: 81442) -ERC2981Test:testFuzzRoyaltyInfoDeleteDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 65712, ~: 66132) -ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 121242, ~: 122933) -ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyaltyUpdate(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 167175, ~: 169643) -ERC2981Test:testFuzzRoyaltyInfoUpdateDefaultRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 88255, ~: 89169) -ERC2981Test:testFuzzSetDefaultRoyaltyNonOwner(address) (runs: 256, μ: 15647, ~: 15647) -ERC2981Test:testFuzzSetDefaultRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21590, ~: 21379) -ERC2981Test:testFuzzSetTokenRoyaltyInvalidReceiver(address) (runs: 256, μ: 18724, ~: 18724) -ERC2981Test:testFuzzSetTokenRoyaltyNonOwner(address) (runs: 256, μ: 15664, ~: 15664) -ERC2981Test:testFuzzSetTokenRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21608, ~: 21397) -ERC2981Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14112, ~: 14112) -ERC2981Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 30265, ~: 30265) -ERC2981Test:testHasOwner() (gas: 12549) -ERC2981Test:testInitialSetup() (gas: 510925) -ERC2981Test:testRenounceOwnershipNonOwner() (gas: 10944) -ERC2981Test:testRenounceOwnershipSuccess() (gas: 18025) -ERC2981Test:testResetTokenRoyalty() (gas: 94689) -ERC2981Test:testResetTokenRoyaltyNonOwner() (gas: 10693) -ERC2981Test:testRoyaltyInfoDefaultRoyalty() (gas: 75102) -ERC2981Test:testRoyaltyInfoDeleteDefaultRoyalty() (gas: 62988) -ERC2981Test:testRoyaltyInfoRoyaltyAmountOverflow() (gas: 67734) -ERC2981Test:testRoyaltyInfoSetTokenRoyalty() (gas: 118405) -ERC2981Test:testRoyaltyInfoSetTokenRoyaltyUpdate() (gas: 165071) -ERC2981Test:testRoyaltyInfoUpdateDefaultRoyalty() (gas: 84182) -ERC2981Test:testSetDefaultRoyaltyInvalidReceiver() (gas: 18070) -ERC2981Test:testSetDefaultRoyaltyNonOwner() (gas: 13000) -ERC2981Test:testSetDefaultRoyaltyTooHighFeeNumerator() (gas: 17708) -ERC2981Test:testSetTokenRoyaltyInvalidReceiver() (gas: 18056) -ERC2981Test:testSetTokenRoyaltyNonOwner() (gas: 12951) -ERC2981Test:testSetTokenRoyaltyTooHighFeeNumerator() (gas: 17748) +ERC2981Test:testDeleteDefaultRoyaltyNonOwner() (gas: 10651) +ERC2981Test:testFuzzDeleteDefaultRoyaltyNonOwner(address) (runs: 256, μ: 13385, ~: 13385) +ERC2981Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13935, ~: 13935) +ERC2981Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 25266, ~: 25266) +ERC2981Test:testFuzzResetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 96592, ~: 97794) +ERC2981Test:testFuzzResetTokenRoyaltyNonOwner(address) (runs: 256, μ: 13337, ~: 13337) +ERC2981Test:testFuzzRoyaltyInfoDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 80625, ~: 81225) +ERC2981Test:testFuzzRoyaltyInfoDeleteDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 65531, ~: 65956) +ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 121026, ~: 122709) +ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyaltyUpdate(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 166952, ~: 169412) +ERC2981Test:testFuzzRoyaltyInfoUpdateDefaultRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 88039, ~: 88945) +ERC2981Test:testFuzzSetDefaultRoyaltyNonOwner(address) (runs: 256, μ: 15642, ~: 15642) +ERC2981Test:testFuzzSetDefaultRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21133, ~: 20916) +ERC2981Test:testFuzzSetTokenRoyaltyInvalidReceiver(address) (runs: 256, μ: 18713, ~: 18713) +ERC2981Test:testFuzzSetTokenRoyaltyNonOwner(address) (runs: 256, μ: 15659, ~: 15659) +ERC2981Test:testFuzzSetTokenRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21151, ~: 20934) +ERC2981Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14002, ~: 14002) +ERC2981Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 30257, ~: 30257) +ERC2981Test:testHasOwner() (gas: 12548) +ERC2981Test:testInitialSetup() (gas: 498021) +ERC2981Test:testRenounceOwnershipNonOwner() (gas: 10834) +ERC2981Test:testRenounceOwnershipSuccess() (gas: 18021) +ERC2981Test:testResetTokenRoyalty() (gas: 94311) +ERC2981Test:testResetTokenRoyaltyNonOwner() (gas: 10688) +ERC2981Test:testRoyaltyInfoDefaultRoyalty() (gas: 74866) +ERC2981Test:testRoyaltyInfoDeleteDefaultRoyalty() (gas: 62799) +ERC2981Test:testRoyaltyInfoRoyaltyAmountOverflow() (gas: 67498) +ERC2981Test:testRoyaltyInfoSetTokenRoyalty() (gas: 117933) +ERC2981Test:testRoyaltyInfoSetTokenRoyaltyUpdate() (gas: 164592) +ERC2981Test:testRoyaltyInfoUpdateDefaultRoyalty() (gas: 83710) +ERC2981Test:testSetDefaultRoyaltyInvalidReceiver() (gas: 18059) +ERC2981Test:testSetDefaultRoyaltyNonOwner() (gas: 12995) +ERC2981Test:testSetDefaultRoyaltyTooHighFeeNumerator() (gas: 17350) +ERC2981Test:testSetTokenRoyaltyInvalidReceiver() (gas: 18045) +ERC2981Test:testSetTokenRoyaltyNonOwner() (gas: 12946) +ERC2981Test:testSetTokenRoyaltyTooHighFeeNumerator() (gas: 17390) ERC2981Test:testSupportsInterfaceInvalidInterfaceId() (gas: 8354) ERC2981Test:testSupportsInterfaceInvalidInterfaceIdGasCost() (gas: 9241) ERC2981Test:testSupportsInterfaceSuccess() (gas: 9501) ERC2981Test:testSupportsInterfaceSuccessGasCost() (gas: 9207) -ERC2981Test:testTransferOwnershipNonOwner() (gas: 12722) -ERC2981Test:testTransferOwnershipSuccess() (gas: 22435) -ERC2981Test:testTransferOwnershipToZeroAddress() (gas: 15765) +ERC2981Test:testTransferOwnershipNonOwner() (gas: 12383) +ERC2981Test:testTransferOwnershipSuccess() (gas: 22202) +ERC2981Test:testTransferOwnershipToZeroAddress() (gas: 15473) ERC4626VaultInvariants:statefulFuzzTotalAssets() (runs: 256, calls: 3840, reverts: 3336) ERC4626VaultInvariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3336) ERC4626VaultTest:testCachedDomainSeparator() (gas: 10578) -ERC4626VaultTest:testDepositInsufficientAllowance() (gas: 82814) -ERC4626VaultTest:testDepositWithNoApproval() (gas: 24749) -ERC4626VaultTest:testDepositZero() (gas: 41130) +ERC4626VaultTest:testDepositInsufficientAllowance() (gas: 82493) +ERC4626VaultTest:testDepositWithNoApproval() (gas: 24428) +ERC4626VaultTest:testDepositZero() (gas: 41064) ERC4626VaultTest:testDomainSeparator() (gas: 11921) -ERC4626VaultTest:testEIP712Domain() (gas: 18820) -ERC4626VaultTest:testEmptyVaultDeposit() (gas: 567856) -ERC4626VaultTest:testEmptyVaultMint() (gas: 568765) -ERC4626VaultTest:testEmptyVaultRedeem() (gas: 203255) -ERC4626VaultTest:testEmptyVaultwithdraw() (gas: 216144) -ERC4626VaultTest:testFail_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 554650, ~: 558654) -ERC4626VaultTest:testFail_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 556470, ~: 560333) -ERC4626VaultTest:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11937, ~: 11959) -ERC4626VaultTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 22262, ~: 22327) -ERC4626VaultTest:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 45330, ~: 45327) -ERC4626VaultTest:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70985, ~: 70988) -ERC4626VaultTest:testInitialSetup() (gas: 6301099) -ERC4626VaultTest:testMintWithNoApproval() (gas: 24801) -ERC4626VaultTest:testMintZero() (gas: 41259) -ERC4626VaultTest:testMultipleMintDepositRedeemWithdraw() (gas: 378087) -ERC4626VaultTest:testPermitBadChainId() (gas: 43974) -ERC4626VaultTest:testPermitBadNonce() (gas: 41042) -ERC4626VaultTest:testPermitExpiredDeadline() (gas: 17487) -ERC4626VaultTest:testPermitOtherSignature() (gas: 42008) -ERC4626VaultTest:testPermitReplaySignature() (gas: 73871) -ERC4626VaultTest:testPermitSuccess() (gas: 70061) -ERC4626VaultTest:testRedeemInsufficientShares() (gas: 131366) -ERC4626VaultTest:testRedeemWithNoShares() (gas: 13639) -ERC4626VaultTest:testSingleDepositWithdraw() (gas: 178201) -ERC4626VaultTest:testSingleMintRedeem() (gas: 177029) -ERC4626VaultTest:testVaultInteractionsForSomeoneElse() (gas: 224746) -ERC4626VaultTest:testWithdrawInsufficientAllowance() (gas: 122667) -ERC4626VaultTest:testWithdrawInsufficientAssets() (gas: 118053) -ERC4626VaultTest:testWithdrawWithNoAssets() (gas: 21604) -ERC4626VaultTest:test_RT_deposit_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474421, ~: 475380) -ERC4626VaultTest:test_RT_deposit_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 476160, ~: 476623) -ERC4626VaultTest:test_RT_mint_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474449, ~: 475456) -ERC4626VaultTest:test_RT_mint_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 476005, ~: 476731) -ERC4626VaultTest:test_RT_redeem_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474290, ~: 475414) -ERC4626VaultTest:test_RT_redeem_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474392, ~: 475504) -ERC4626VaultTest:test_RT_withdraw_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 475855, ~: 476723) -ERC4626VaultTest:test_RT_withdraw_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 475818, ~: 476765) -ERC4626VaultTest:test_asset((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 425934, ~: 427692) -ERC4626VaultTest:test_convertToAssets((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 429929, ~: 432176) -ERC4626VaultTest:test_convertToShares((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 429822, ~: 432196) -ERC4626VaultTest:test_deposit((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 470708, ~: 473337) -ERC4626VaultTest:test_maxDeposit((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 425928, ~: 427687) -ERC4626VaultTest:test_maxMint((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 425953, ~: 427712) -ERC4626VaultTest:test_maxRedeem((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 426068, ~: 427827) -ERC4626VaultTest:test_maxWithdraw((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 427514, ~: 429081) -ERC4626VaultTest:test_mint((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 470938, ~: 473465) -ERC4626VaultTest:test_previewDeposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 467051, ~: 467888) -ERC4626VaultTest:test_previewMint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 467261, ~: 468072) -ERC4626VaultTest:test_previewRedeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 468694, ~: 469382) -ERC4626VaultTest:test_previewWithdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 470331, ~: 470731) -ERC4626VaultTest:test_redeem((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 473650, ~: 476212) -ERC4626VaultTest:test_totalAssets((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 426517, ~: 428276) -ERC4626VaultTest:test_withdraw((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 476220, ~: 477415) +ERC4626VaultTest:testEIP712Domain() (gas: 18196) +ERC4626VaultTest:testEmptyVaultDeposit() (gas: 567236) +ERC4626VaultTest:testEmptyVaultMint() (gas: 568121) +ERC4626VaultTest:testEmptyVaultRedeem() (gas: 202623) +ERC4626VaultTest:testEmptyVaultwithdraw() (gas: 215356) +ERC4626VaultTest:testFail_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 552560, ~: 556293) +ERC4626VaultTest:testFail_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 554402, ~: 557992) +ERC4626VaultTest:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11935, ~: 11959) +ERC4626VaultTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21644, ~: 21722) +ERC4626VaultTest:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 44500, ~: 44496) +ERC4626VaultTest:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70436, ~: 70438) +ERC4626VaultTest:testInitialSetup() (gas: 5954122) +ERC4626VaultTest:testMintWithNoApproval() (gas: 24474) +ERC4626VaultTest:testMintZero() (gas: 41187) +ERC4626VaultTest:testMultipleMintDepositRedeemWithdraw() (gas: 376838) +ERC4626VaultTest:testPermitBadChainId() (gas: 43449) +ERC4626VaultTest:testPermitBadNonce() (gas: 40517) +ERC4626VaultTest:testPermitExpiredDeadline() (gas: 17022) +ERC4626VaultTest:testPermitOtherSignature() (gas: 41483) +ERC4626VaultTest:testPermitReplaySignature() (gas: 73280) +ERC4626VaultTest:testPermitSuccess() (gas: 69639) +ERC4626VaultTest:testRedeemInsufficientShares() (gas: 131033) +ERC4626VaultTest:testRedeemWithNoShares() (gas: 13348) +ERC4626VaultTest:testSingleDepositWithdraw() (gas: 177900) +ERC4626VaultTest:testSingleMintRedeem() (gas: 176736) +ERC4626VaultTest:testVaultInteractionsForSomeoneElse() (gas: 224101) +ERC4626VaultTest:testWithdrawInsufficientAllowance() (gas: 122360) +ERC4626VaultTest:testWithdrawInsufficientAssets() (gas: 117768) +ERC4626VaultTest:testWithdrawWithNoAssets() (gas: 21289) +ERC4626VaultTest:test_RT_deposit_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472118, ~: 473112) +ERC4626VaultTest:test_RT_deposit_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473849, ~: 474342) +ERC4626VaultTest:test_RT_mint_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472175, ~: 473185) +ERC4626VaultTest:test_RT_mint_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473723, ~: 474487) +ERC4626VaultTest:test_RT_redeem_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472415, ~: 473165) +ERC4626VaultTest:test_RT_redeem_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 472312, ~: 473234) +ERC4626VaultTest:test_RT_withdraw_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473748, ~: 474372) +ERC4626VaultTest:test_RT_withdraw_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473766, ~: 474478) +ERC4626VaultTest:test_asset((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424533, ~: 426272) +ERC4626VaultTest:test_convertToAssets((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 428451, ~: 430500) +ERC4626VaultTest:test_convertToShares((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 428326, ~: 430518) +ERC4626VaultTest:test_deposit((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 468410, ~: 471064) +ERC4626VaultTest:test_maxDeposit((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424528, ~: 426266) +ERC4626VaultTest:test_maxMint((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424552, ~: 426291) +ERC4626VaultTest:test_maxRedeem((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424668, ~: 426406) +ERC4626VaultTest:test_maxWithdraw((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 426097, ~: 427641) +ERC4626VaultTest:test_mint((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 468663, ~: 471186) +ERC4626VaultTest:test_previewDeposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 464868, ~: 465740) +ERC4626VaultTest:test_previewMint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 465107, ~: 465920) +ERC4626VaultTest:test_previewRedeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 466520, ~: 467176) +ERC4626VaultTest:test_previewWithdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 468127, ~: 468511) +ERC4626VaultTest:test_redeem((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 471223, ~: 473797) +ERC4626VaultTest:test_totalAssets((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 425116, ~: 426855) +ERC4626VaultTest:test_withdraw((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 473801, ~: 474990) ERC721Invariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3493) ERC721Invariants:statefulFuzzTotalSupply() (runs: 256, calls: 3840, reverts: 3493) -ERC721Test:testApproveClearingApprovalWithNoPriorApproval() (gas: 177680) -ERC721Test:testApproveClearingApprovalWithPriorApproval() (gas: 186760) -ERC721Test:testApproveFromApprovedAddress() (gas: 199945) -ERC721Test:testApproveFromNonOwner() (gas: 173726) -ERC721Test:testApproveFromOperatorAddress() (gas: 224626) -ERC721Test:testApproveInvalidTokenId() (gas: 171584) -ERC721Test:testApproveToOwner() (gas: 168107) -ERC721Test:testApproveToZeroAddress() (gas: 186803) -ERC721Test:testApproveWithNoPriorApproval() (gas: 197081) -ERC721Test:testApproveWithPriorApprovalToDifferentAddress() (gas: 206277) -ERC721Test:testApproveWithPriorApprovalToSameAddress() (gas: 204639) -ERC721Test:testBalanceOfCase1() (gas: 329220) -ERC721Test:testBalanceOfCase2() (gas: 12256) -ERC721Test:testBalanceOfZeroAddress() (gas: 11233) -ERC721Test:testBurnSuccess() (gas: 306816) -ERC721Test:testBurnSuccessViaApproveAndSetApprovalForAll() (gas: 372818) +ERC721Test:testApproveClearingApprovalWithNoPriorApproval() (gas: 177123) +ERC721Test:testApproveClearingApprovalWithPriorApproval() (gas: 186025) +ERC721Test:testApproveFromApprovedAddress() (gas: 198741) +ERC721Test:testApproveFromNonOwner() (gas: 172522) +ERC721Test:testApproveFromOperatorAddress() (gas: 223707) +ERC721Test:testApproveInvalidTokenId() (gas: 170740) +ERC721Test:testApproveToOwner() (gas: 167259) +ERC721Test:testApproveToZeroAddress() (gas: 186068) +ERC721Test:testApproveWithNoPriorApproval() (gas: 196346) +ERC721Test:testApproveWithPriorApprovalToDifferentAddress() (gas: 205364) +ERC721Test:testApproveWithPriorApprovalToSameAddress() (gas: 203904) +ERC721Test:testBalanceOfCase1() (gas: 328284) +ERC721Test:testBalanceOfCase2() (gas: 12078) +ERC721Test:testBalanceOfZeroAddress() (gas: 10942) +ERC721Test:testBurnSuccess() (gas: 305893) +ERC721Test:testBurnSuccessViaApproveAndSetApprovalForAll() (gas: 371431) ERC721Test:testCachedDomainSeparator() (gas: 10624) ERC721Test:testDomainSeparator() (gas: 11855) -ERC721Test:testEIP712Domain() (gas: 18923) -ERC721Test:testFuzzApproveClearingApprovalWithNoPriorApproval(address,address) (runs: 256, μ: 197179, ~: 197179) -ERC721Test:testFuzzApproveClearingApprovalWithPriorApproval(address,address) (runs: 256, μ: 184838, ~: 184838) -ERC721Test:testFuzzApproveFromNonOwner(address) (runs: 256, μ: 173121, ~: 173121) -ERC721Test:testFuzzApproveFromOperatorAddress(address,address,address) (runs: 256, μ: 223329, ~: 223329) -ERC721Test:testFuzzApproveWithNoPriorApproval(address,address) (runs: 256, μ: 197134, ~: 197134) -ERC721Test:testFuzzApproveWithPriorApproval(address,address) (runs: 256, μ: 204650, ~: 204650) -ERC721Test:testFuzzBurnSuccess(address) (runs: 256, μ: 306157, ~: 306141) -ERC721Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 12046, ~: 12068) -ERC721Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 22438, ~: 22504) -ERC721Test:testFuzzGetApprovedApprovedTokenId(address,address) (runs: 256, μ: 194765, ~: 194765) -ERC721Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 201814, ~: 201811) -ERC721Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 227976, ~: 227979) -ERC721Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 14033, ~: 14033) -ERC721Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48688, ~: 48672) -ERC721Test:testFuzzSafeMintNonMinter(address) (runs: 256, μ: 15991, ~: 15991) -ERC721Test:testFuzzSafeMintSuccess(address[]) (runs: 256, μ: 20817886, ~: 19441193) -ERC721Test:testFuzzSafeTransferFromWithData(address,address,address,bytes) (runs: 256, μ: 1462819, ~: 1463804) -ERC721Test:testFuzzSetApprovalForAllSuccess(address,address) (runs: 256, μ: 189594, ~: 189594) -ERC721Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15895, ~: 15894) -ERC721Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33847, ~: 33847) -ERC721Test:testFuzzTokenByIndex(address,string[]) (runs: 256, μ: 22710852, ~: 23597158) -ERC721Test:testFuzzTotalSupply(address,string[]) (runs: 256, μ: 22523019, ~: 23401307) -ERC721Test:testFuzzTransferFrom(address,address,address) (runs: 256, μ: 569889, ~: 569869) -ERC721Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14185, ~: 14185) -ERC721Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75817, ~: 75788) -ERC721Test:testGetApprovedApprovedTokenId() (gas: 194667) -ERC721Test:testGetApprovedInvalidTokenId() (gas: 11191) -ERC721Test:testGetApprovedNotApprovedTokenId() (gas: 170893) -ERC721Test:testHasOwner() (gas: 12585) -ERC721Test:testInitialSetup() (gas: 2634692) -ERC721Test:testOwnerOf() (gas: 166534) -ERC721Test:testOwnerOfInvalidTokenId() (gas: 11146) -ERC721Test:testPermitBadChainId() (gas: 200279) -ERC721Test:testPermitBadNonce() (gas: 197439) -ERC721Test:testPermitExpiredDeadline() (gas: 170800) -ERC721Test:testPermitOtherSignature() (gas: 198362) -ERC721Test:testPermitReplaySignature() (gas: 230709) -ERC721Test:testPermitSuccess() (gas: 227015) -ERC721Test:testRenounceOwnershipNonOwner() (gas: 11039) -ERC721Test:testRenounceOwnershipSuccess() (gas: 22922) -ERC721Test:testSafeMintNonMinter() (gas: 13322) -ERC721Test:testSafeMintOverflow() (gas: 15482) -ERC721Test:testSafeMintReceiverContract() (gas: 389372) -ERC721Test:testSafeMintReceiverContractFunctionNotImplemented() (gas: 116159) -ERC721Test:testSafeMintReceiverContractInvalidReturnIdentifier() (gas: 340598) -ERC721Test:testSafeMintReceiverContractRevertsWithMessage() (gas: 337689) -ERC721Test:testSafeMintReceiverContractRevertsWithPanic() (gas: 337932) -ERC721Test:testSafeMintReceiverContractRevertsWithoutMessage() (gas: 337319) -ERC721Test:testSafeMintSuccess() (gas: 526138) -ERC721Test:testSafeMintToZeroAddress() (gas: 38506) -ERC721Test:testSafeMintTokenAlreadyMinted() (gas: 363457) -ERC721Test:testSafeTransferFromNoData() (gas: 1463300) -ERC721Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 181220) -ERC721Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 405690) -ERC721Test:testSafeTransferFromReceiverRevertsWithMessage() (gas: 402761) -ERC721Test:testSafeTransferFromReceiverRevertsWithPanic() (gas: 403027) -ERC721Test:testSafeTransferFromReceiverRevertsWithoutMessage() (gas: 402391) -ERC721Test:testSafeTransferFromWithData() (gas: 1218702) -ERC721Test:testSetApprovalForAllOperatorIsOwner() (gas: 167728) -ERC721Test:testSetApprovalForAllSuccessCase1() (gas: 196254) -ERC721Test:testSetApprovalForAllSuccessCase2() (gas: 189525) -ERC721Test:testSetApprovalForAllSuccessCase3() (gas: 202808) -ERC721Test:testSetMinterNonOwner() (gas: 12772) -ERC721Test:testSetMinterRemoveOwnerAddress() (gas: 13781) -ERC721Test:testSetMinterSuccess() (gas: 33628) -ERC721Test:testSetMinterToZeroAddress() (gas: 15959) +ERC721Test:testEIP712Domain() (gas: 18299) +ERC721Test:testFuzzApproveClearingApprovalWithNoPriorApproval(address,address) (runs: 256, μ: 196800, ~: 196800) +ERC721Test:testFuzzApproveClearingApprovalWithPriorApproval(address,address) (runs: 256, μ: 184459, ~: 184459) +ERC721Test:testFuzzApproveFromNonOwner(address) (runs: 256, μ: 172095, ~: 172095) +ERC721Test:testFuzzApproveFromOperatorAddress(address,address,address) (runs: 256, μ: 222944, ~: 222944) +ERC721Test:testFuzzApproveWithNoPriorApproval(address,address) (runs: 256, μ: 196755, ~: 196755) +ERC721Test:testFuzzApproveWithPriorApproval(address,address) (runs: 256, μ: 204271, ~: 204271) +ERC721Test:testFuzzBurnSuccess(address) (runs: 256, μ: 305376, ~: 305360) +ERC721Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 12045, ~: 12068) +ERC721Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 21813, ~: 21848) +ERC721Test:testFuzzGetApprovedApprovedTokenId(address,address) (runs: 256, μ: 194386, ~: 194386) +ERC721Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 200611, ~: 200607) +ERC721Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 227060, ~: 227062) +ERC721Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13923, ~: 13923) +ERC721Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48683, ~: 48667) +ERC721Test:testFuzzSafeMintNonMinter(address) (runs: 256, μ: 15704, ~: 15704) +ERC721Test:testFuzzSafeMintSuccess(address[]) (runs: 256, μ: 20701993, ~: 19485926) +ERC721Test:testFuzzSafeTransferFromWithData(address,address,address,bytes) (runs: 256, μ: 1432061, ~: 1432474) +ERC721Test:testFuzzSetApprovalForAllSuccess(address,address) (runs: 256, μ: 189197, ~: 189197) +ERC721Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15541, ~: 15542) +ERC721Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33649, ~: 33660) +ERC721Test:testFuzzTokenByIndex(address,string[]) (runs: 256, μ: 22675247, ~: 23560031) +ERC721Test:testFuzzTotalSupply(address,string[]) (runs: 256, μ: 22487414, ~: 23364180) +ERC721Test:testFuzzTransferFrom(address,address,address) (runs: 256, μ: 564995, ~: 564978) +ERC721Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14075, ~: 14075) +ERC721Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 75811, ~: 75782) +ERC721Test:testGetApprovedApprovedTokenId() (gas: 193932) +ERC721Test:testGetApprovedInvalidTokenId() (gas: 11082) +ERC721Test:testGetApprovedNotApprovedTokenId() (gas: 170336) +ERC721Test:testHasOwner() (gas: 12584) +ERC721Test:testInitialSetup() (gas: 2510958) +ERC721Test:testOwnerOf() (gas: 165977) +ERC721Test:testOwnerOfInvalidTokenId() (gas: 11037) +ERC721Test:testPermitBadChainId() (gas: 199381) +ERC721Test:testPermitBadNonce() (gas: 196541) +ERC721Test:testPermitExpiredDeadline() (gas: 169956) +ERC721Test:testPermitOtherSignature() (gas: 197464) +ERC721Test:testPermitReplaySignature() (gas: 229757) +ERC721Test:testPermitSuccess() (gas: 226226) +ERC721Test:testRenounceOwnershipNonOwner() (gas: 10929) +ERC721Test:testRenounceOwnershipSuccess() (gas: 22918) +ERC721Test:testSafeMintNonMinter() (gas: 13035) +ERC721Test:testSafeMintOverflow() (gas: 15304) +ERC721Test:testSafeMintReceiverContract() (gas: 383850) +ERC721Test:testSafeMintReceiverContractFunctionNotImplemented() (gas: 115780) +ERC721Test:testSafeMintReceiverContractInvalidReturnIdentifier() (gas: 334907) +ERC721Test:testSafeMintReceiverContractRevertsWithMessage() (gas: 332199) +ERC721Test:testSafeMintReceiverContractRevertsWithPanic() (gas: 332378) +ERC721Test:testSafeMintReceiverContractRevertsWithoutMessage() (gas: 331934) +ERC721Test:testSafeMintSuccess() (gas: 524549) +ERC721Test:testSafeMintToZeroAddress() (gas: 38391) +ERC721Test:testSafeMintTokenAlreadyMinted() (gas: 362406) +ERC721Test:testSafeTransferFromNoData() (gas: 1436921) +ERC721Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 180184) +ERC721Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 399339) +ERC721Test:testSafeTransferFromReceiverRevertsWithMessage() (gas: 396611) +ERC721Test:testSafeTransferFromReceiverRevertsWithPanic() (gas: 396813) +ERC721Test:testSafeTransferFromReceiverRevertsWithoutMessage() (gas: 396346) +ERC721Test:testSafeTransferFromWithData() (gas: 1192540) +ERC721Test:testSetApprovalForAllOperatorIsOwner() (gas: 167056) +ERC721Test:testSetApprovalForAllSuccessCase1() (gas: 195513) +ERC721Test:testSetApprovalForAllSuccessCase2() (gas: 188772) +ERC721Test:testSetApprovalForAllSuccessCase3() (gas: 202061) +ERC721Test:testSetMinterNonOwner() (gas: 12484) +ERC721Test:testSetMinterRemoveOwnerAddress() (gas: 13671) +ERC721Test:testSetMinterSuccess() (gas: 33484) +ERC721Test:testSetMinterToZeroAddress() (gas: 15667) ERC721Test:testSupportsInterfaceInvalidInterfaceId() (gas: 8567) ERC721Test:testSupportsInterfaceInvalidInterfaceIdGasCost() (gas: 9598) ERC721Test:testSupportsInterfaceSuccess() (gas: 14714) ERC721Test:testSupportsInterfaceSuccessGasCost() (gas: 9365) -ERC721Test:testTokenByIndex() (gas: 556751) -ERC721Test:testTokenByIndexOutOfBounds() (gas: 331088) -ERC721Test:testTokenOfOwnerByIndex() (gas: 576790) -ERC721Test:testTokenOfOwnerByIndexReverts() (gas: 548749) -ERC721Test:testTokenURIAfterBurning() (gas: 139116) -ERC721Test:testTokenURIDefault() (gas: 169580) -ERC721Test:testTokenURIInvalidTokenId() (gas: 13289) -ERC721Test:testTokenURINoBaseURI() (gas: 2753677) -ERC721Test:testTokenURINoTokenUri() (gas: 126774) -ERC721Test:testTotalSupply() (gas: 329131) -ERC721Test:testTransferFrom() (gas: 579421) -ERC721Test:testTransferOwnershipNonOwner() (gas: 12707) -ERC721Test:testTransferOwnershipSuccess() (gas: 54156) -ERC721Test:testTransferOwnershipToZeroAddress() (gas: 15838) +ERC721Test:testTokenByIndex() (gas: 555057) +ERC721Test:testTokenByIndexOutOfBounds() (gas: 329861) +ERC721Test:testTokenOfOwnerByIndex() (gas: 574707) +ERC721Test:testTokenOfOwnerByIndexReverts() (gas: 545726) +ERC721Test:testTokenURIAfterBurning() (gas: 138552) +ERC721Test:testTokenURIDefault() (gas: 168123) +ERC721Test:testTokenURIInvalidTokenId() (gas: 13142) +ERC721Test:testTokenURINoBaseURI() (gas: 2630371) +ERC721Test:testTokenURINoTokenUri() (gas: 125692) +ERC721Test:testTotalSupply() (gas: 328195) +ERC721Test:testTransferFrom() (gas: 574245) +ERC721Test:testTransferOwnershipNonOwner() (gas: 12419) +ERC721Test:testTransferOwnershipSuccess() (gas: 53974) +ERC721Test:testTransferOwnershipToZeroAddress() (gas: 15546) MathTest:testCbrtRoundDown() (gas: 51656) MathTest:testCbrtRoundUp() (gas: 52303) -MathTest:testCeilDiv() (gas: 14821) -MathTest:testFuzzCbrt(uint256,bool) (runs: 256, μ: 22474, ~: 22395) +MathTest:testCeilDiv() (gas: 14712) +MathTest:testFuzzCbrt(uint256,bool) (runs: 256, μ: 22475, ~: 22395) MathTest:testFuzzCeilDiv(uint256,uint256) (runs: 256, μ: 9766, ~: 9770) MathTest:testFuzzInt256Average(int256,int256) (runs: 256, μ: 8625, ~: 8625) MathTest:testFuzzLog10(uint256,bool) (runs: 256, μ: 10389, ~: 10325) -MathTest:testFuzzLog2(uint256,bool) (runs: 256, μ: 10096, ~: 10048) -MathTest:testFuzzLog256(uint256,bool) (runs: 256, μ: 10225, ~: 10146) +MathTest:testFuzzLog2(uint256,bool) (runs: 256, μ: 10097, ~: 10048) +MathTest:testFuzzLog256(uint256,bool) (runs: 256, μ: 10227, ~: 10146) MathTest:testFuzzMulDiv(uint256,uint256,uint256) (runs: 256, μ: 14393, ~: 14078) -MathTest:testFuzzMulDivDomain(uint256,uint256,uint256) (runs: 256, μ: 10858, ~: 10898) +MathTest:testFuzzMulDivDomain(uint256,uint256,uint256) (runs: 256, μ: 10850, ~: 10890) MathTest:testFuzzSignum(int256) (runs: 256, μ: 8508, ~: 8500) MathTest:testFuzzUint256Average(uint256,uint256) (runs: 256, μ: 8688, ~: 8688) -MathTest:testFuzzWadCbrt(uint256) (runs: 256, μ: 22272, ~: 21973) -MathTest:testFuzzWadExp(int256) (runs: 256, μ: 15197, ~: 15410) -MathTest:testFuzzWadLn(int256) (runs: 256, μ: 16808, ~: 16471) +MathTest:testFuzzWadCbrt(uint256) (runs: 256, μ: 22264, ~: 21978) +MathTest:testFuzzWadExp(int256) (runs: 256, μ: 14807, ~: 15098) +MathTest:testFuzzWadLn(int256) (runs: 256, μ: 16383, ~: 16133) MathTest:testInt256Average() (gas: 18843) MathTest:testLog10RoundDown() (gas: 26211) MathTest:testLog10RoundUp() (gas: 27392) @@ -567,8 +567,8 @@ MathTest:testLog256RoundDown() (gas: 21459) MathTest:testLog256RoundUp() (gas: 21592) MathTest:testLog2RoundDown() (gas: 23966) MathTest:testLog2RoundUp() (gas: 24129) -MathTest:testMulDivDivisionByZero() (gas: 11564) -MathTest:testMulDivOverflow() (gas: 11920) +MathTest:testMulDivDivisionByZero() (gas: 11346) +MathTest:testMulDivOverflow() (gas: 11702) MathTest:testMulDivRoundDownLargeValues() (gas: 17568) MathTest:testMulDivRoundDownSmallValues() (gas: 11619) MathTest:testMulDivRoundUpLargeValues() (gas: 17901) @@ -577,182 +577,182 @@ MathTest:testSignum() (gas: 17752) MathTest:testUint256Average() (gas: 12911) MathTest:testWadCbrt() (gas: 48690) MathTest:testWadExp() (gas: 34590) -MathTest:testWadExpOverflow() (gas: 11387) +MathTest:testWadExpOverflow() (gas: 11169) MathTest:testWadLn() (gas: 31356) -MathTest:testWadLnNegativeValues() (gas: 11314) -MerkleProofVerificationTest:testFuzzMultiProofVerifySingleLeaf(bytes32[],uint256) (runs: 256, μ: 261321, ~: 257427) -MerkleProofVerificationTest:testFuzzVerify(bytes32[],uint256) (runs: 256, μ: 174146, ~: 170158) -MerkleProofVerificationTest:testFuzzVerifyMultiProofMultipleLeaves(bool,bool,bool) (runs: 256, μ: 46263, ~: 46254) -MerkleProofVerificationTest:testInvalidMerkleMultiProof() (gas: 49759) -MerkleProofVerificationTest:testInvalidMerkleProof() (gas: 20183) -MerkleProofVerificationTest:testInvalidMerkleProofLength() (gas: 22362) -MerkleProofVerificationTest:testInvalidMultiProof() (gas: 92261) -MerkleProofVerificationTest:testMaliciousMultiProofVerify() (gas: 36820) -MerkleProofVerificationTest:testMultiProofEdgeCase1() (gas: 31820) -MerkleProofVerificationTest:testMultiProofEdgeCase2() (gas: 31972) -MerkleProofVerificationTest:testMultiProofVerify() (gas: 53775) -MerkleProofVerificationTest:testVerify() (gas: 38997) +MathTest:testWadLnNegativeValues() (gas: 11096) +MerkleProofVerificationTest:testFuzzMultiProofVerifySingleLeaf(bytes32[],uint256) (runs: 256, μ: 258218, ~: 254331) +MerkleProofVerificationTest:testFuzzVerify(bytes32[],uint256) (runs: 256, μ: 172994, ~: 169014) +MerkleProofVerificationTest:testFuzzVerifyMultiProofMultipleLeaves(bool,bool,bool) (runs: 256, μ: 45507, ~: 45498) +MerkleProofVerificationTest:testInvalidMerkleMultiProof() (gas: 46737) +MerkleProofVerificationTest:testInvalidMerkleProof() (gas: 18823) +MerkleProofVerificationTest:testInvalidMerkleProofLength() (gas: 20670) +MerkleProofVerificationTest:testInvalidMultiProof() (gas: 86944) +MerkleProofVerificationTest:testMaliciousMultiProofVerify() (gas: 36082) +MerkleProofVerificationTest:testMultiProofEdgeCase1() (gas: 31088) +MerkleProofVerificationTest:testMultiProofEdgeCase2() (gas: 31240) +MerkleProofVerificationTest:testMultiProofVerify() (gas: 50351) +MerkleProofVerificationTest:testVerify() (gas: 35513) MessageHashUtilsTest:testEthSignedMessageHash() (gas: 8614) MessageHashUtilsTest:testFuzzEthSignedMessageHash(string) (runs: 256, μ: 9321, ~: 9315) -MessageHashUtilsTest:testFuzzToDataWithIntendedValidatorHash(address,bytes) (runs: 256, μ: 10144, ~: 10129) -MessageHashUtilsTest:testFuzzToDataWithIntendedValidatorHashSelf(bytes) (runs: 256, μ: 12133, ~: 12116) +MessageHashUtilsTest:testFuzzToDataWithIntendedValidatorHash(address,bytes) (runs: 256, μ: 9900, ~: 9885) +MessageHashUtilsTest:testFuzzToDataWithIntendedValidatorHashSelf(bytes) (runs: 256, μ: 11889, ~: 11872) MessageHashUtilsTest:testFuzzToTypedDataHash(string,string) (runs: 256, μ: 9948, ~: 9949) -MessageHashUtilsTest:testToDataWithIntendedValidatorHash() (gas: 11874) -MessageHashUtilsTest:testToDataWithIntendedValidatorHashSelf() (gas: 12310) +MessageHashUtilsTest:testToDataWithIntendedValidatorHash() (gas: 11129) +MessageHashUtilsTest:testToDataWithIntendedValidatorHashSelf() (gas: 11747) MessageHashUtilsTest:testToTypedDataHash() (gas: 8736) -MulticallTest:testMulticallRevert() (gas: 1151095) -MulticallTest:testMulticallSelfRevert() (gas: 2216002) -MulticallTest:testMulticallSelfSuccess() (gas: 3341496) -MulticallTest:testMulticallSuccess() (gas: 1160851) -MulticallTest:testMulticallValueRevertCase1() (gas: 1210261) -MulticallTest:testMulticallValueRevertCase2() (gas: 1211657) -MulticallTest:testMulticallValueSuccess() (gas: 1240219) -MulticallTest:testMultistaticcallRevert() (gas: 8937393460516748853) -MulticallTest:testMultistaticcallSuccess() (gas: 1129943) +MulticallTest:testMulticallRevert() (gas: 1149263) +MulticallTest:testMulticallSelfRevert() (gas: 2210952) +MulticallTest:testMulticallSelfSuccess() (gas: 3331959) +MulticallTest:testMulticallSuccess() (gas: 1157691) +MulticallTest:testMulticallValueRevertCase1() (gas: 1208138) +MulticallTest:testMulticallValueRevertCase2() (gas: 1208984) +MulticallTest:testMulticallValueSuccess() (gas: 1236111) +MulticallTest:testMultistaticcallRevert() (gas: 8937393460516748826) +MulticallTest:testMultistaticcallSuccess() (gas: 1127919) Ownable2StepInvariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3840) Ownable2StepInvariants:statefulFuzzPendingOwner() (runs: 256, calls: 3840, reverts: 3840) -Ownable2StepTest:testAcceptOwnershipNonPendingOwner() (gas: 47887) -Ownable2StepTest:testAcceptOwnershipSuccess() (gas: 40849) -Ownable2StepTest:testFuzzAcceptOwnershipNonPendingOwner(address) (runs: 256, μ: 47097, ~: 47097) -Ownable2StepTest:testFuzzAcceptOwnershipSuccess(address,address) (runs: 256, μ: 67728, ~: 67697) -Ownable2StepTest:testFuzzPendingOwnerResetAfterRenounceOwnership(address) (runs: 256, μ: 40372, ~: 40356) -Ownable2StepTest:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13982, ~: 13982) -Ownable2StepTest:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 45442, ~: 45425) -Ownable2StepTest:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14134, ~: 14134) -Ownable2StepTest:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 52227, ~: 52227) -Ownable2StepTest:testHasOwner() (gas: 12528) -Ownable2StepTest:testInitialSetup() (gas: 246352) -Ownable2StepTest:testPendingOwnerResetAfterRenounceOwnership() (gas: 41250) -Ownable2StepTest:testRenounceOwnershipNonOwner() (gas: 10969) -Ownable2StepTest:testRenounceOwnershipSuccess() (gas: 20272) -Ownable2StepTest:testTransferOwnershipNonOwner() (gas: 12646) -Ownable2StepTest:testTransferOwnershipSuccess() (gas: 45978) +Ownable2StepTest:testAcceptOwnershipNonPendingOwner() (gas: 47364) +Ownable2StepTest:testAcceptOwnershipSuccess() (gas: 40661) +Ownable2StepTest:testFuzzAcceptOwnershipNonPendingOwner(address) (runs: 256, μ: 46803, ~: 46803) +Ownable2StepTest:testFuzzAcceptOwnershipSuccess(address,address) (runs: 256, μ: 67717, ~: 67688) +Ownable2StepTest:testFuzzPendingOwnerResetAfterRenounceOwnership(address) (runs: 256, μ: 40133, ~: 40117) +Ownable2StepTest:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13872, ~: 13872) +Ownable2StepTest:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 45433, ~: 45417) +Ownable2StepTest:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14024, ~: 14024) +Ownable2StepTest:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 52221, ~: 52221) +Ownable2StepTest:testHasOwner() (gas: 12527) +Ownable2StepTest:testInitialSetup() (gas: 241510) +Ownable2StepTest:testPendingOwnerResetAfterRenounceOwnership() (gas: 40828) +Ownable2StepTest:testRenounceOwnershipNonOwner() (gas: 10859) +Ownable2StepTest:testRenounceOwnershipSuccess() (gas: 20268) +Ownable2StepTest:testTransferOwnershipNonOwner() (gas: 12307) +Ownable2StepTest:testTransferOwnershipSuccess() (gas: 45746) OwnableInvariants:statefulFuzzOwner() (runs: 256, calls: 3840, reverts: 3840) -OwnableTest:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 14023, ~: 14023) -OwnableTest:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 25271, ~: 25271) -OwnableTest:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14176, ~: 14176) -OwnableTest:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 30307, ~: 30307) -OwnableTest:testHasOwner() (gas: 12525) -OwnableTest:testInitialSetup() (gas: 216334) -OwnableTest:testRenounceOwnershipNonOwner() (gas: 10943) -OwnableTest:testRenounceOwnershipSuccess() (gas: 17978) -OwnableTest:testTransferOwnershipNonOwner() (gas: 12655) -OwnableTest:testTransferOwnershipSuccess() (gas: 22388) -OwnableTest:testTransferOwnershipToZeroAddress() (gas: 15742) -P256Test:testFuzzVerifyWithValidSignature(string,string) (runs: 256, μ: 991396, ~: 734067) -P256Test:testVerifyWithFlippedValues() (gas: 1181210) -P256Test:testVerifyWithInvalidSignature() (gas: 589031) -P256Test:testVerifyWithOutOfBoundsPublicKey() (gas: 16955) -P256Test:testVerifyWithTooHighSValue() (gas: 9584) -P256Test:testVerifyWithValidSignature() (gas: 591037) +OwnableTest:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13913, ~: 13913) +OwnableTest:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 25263, ~: 25263) +OwnableTest:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14066, ~: 14066) +OwnableTest:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 30299, ~: 30299) +OwnableTest:testHasOwner() (gas: 12524) +OwnableTest:testInitialSetup() (gas: 211954) +OwnableTest:testRenounceOwnershipNonOwner() (gas: 10833) +OwnableTest:testRenounceOwnershipSuccess() (gas: 17974) +OwnableTest:testTransferOwnershipNonOwner() (gas: 12316) +OwnableTest:testTransferOwnershipSuccess() (gas: 22155) +OwnableTest:testTransferOwnershipToZeroAddress() (gas: 15450) +P256Test:testFuzzVerifyWithValidSignature(string,string) (runs: 256, μ: 973784, ~: 733517) +P256Test:testVerifyWithFlippedValues() (gas: 1106912) +P256Test:testVerifyWithInvalidSignature() (gas: 552113) +P256Test:testVerifyWithOutOfBoundsPublicKey() (gas: 16907) +P256Test:testVerifyWithTooHighSValue() (gas: 9293) +P256Test:testVerifyWithValidSignature() (gas: 554107) P256Test:testVerifyWithZeroInputs() (gas: 8654) -P256Test:testVerifyWycheproofData() (gas: 249415564) -SignatureCheckerTest:testEIP1271NoIsValidSignatureFunction() (gas: 20078) -SignatureCheckerTest:testEIP1271WithInvalidSignature(bytes,string) (runs: 256, μ: 24205, ~: 24202) -SignatureCheckerTest:testEIP1271WithInvalidSignature1() (gas: 31040) -SignatureCheckerTest:testEIP1271WithInvalidSignature2() (gas: 32729) -SignatureCheckerTest:testEIP1271WithInvalidSigner() (gas: 31118) -SignatureCheckerTest:testEIP1271WithMaliciousWallet() (gas: 21011) -SignatureCheckerTest:testEIP1271WithValidSignature() (gas: 31027) -SignatureCheckerTest:testEOAWithInvalidSignature1() (gas: 20578) -SignatureCheckerTest:testEOAWithInvalidSignature2() (gas: 24282) -SignatureCheckerTest:testEOAWithInvalidSigner() (gas: 20670) -SignatureCheckerTest:testEOAWithTooHighSValue() (gas: 21455) -SignatureCheckerTest:testEOAWithValidSignature() (gas: 20586) -SignatureCheckerTest:testFuzzEIP1271WithInvalidSigner(string,string) (runs: 256, μ: 33030, ~: 33096) -SignatureCheckerTest:testFuzzEIP1271WithValidSignature(string) (runs: 256, μ: 31606, ~: 31600) -SignatureCheckerTest:testFuzzEOAWithInvalidSignature(bytes,string) (runs: 256, μ: 17100, ~: 17101) -SignatureCheckerTest:testFuzzEOAWithInvalidSigner(string,string) (runs: 256, μ: 21689, ~: 21750) -SignatureCheckerTest:testFuzzEOAWithValidSignature(string,string) (runs: 256, μ: 21599, ~: 21660) +P256Test:testVerifyWycheproofData() (gas: 230719221) +SignatureCheckerTest:testEIP1271NoIsValidSignatureFunction() (gas: 18765) +SignatureCheckerTest:testEIP1271WithInvalidSignature(bytes,string) (runs: 256, μ: 23593, ~: 23590) +SignatureCheckerTest:testEIP1271WithInvalidSignature1() (gas: 29733) +SignatureCheckerTest:testEIP1271WithInvalidSignature2() (gas: 31422) +SignatureCheckerTest:testEIP1271WithInvalidSigner() (gas: 29811) +SignatureCheckerTest:testEIP1271WithMaliciousWallet() (gas: 19704) +SignatureCheckerTest:testEIP1271WithValidSignature() (gas: 29720) +SignatureCheckerTest:testEOAWithInvalidSignature1() (gas: 19364) +SignatureCheckerTest:testEOAWithInvalidSignature2() (gas: 22959) +SignatureCheckerTest:testEOAWithInvalidSigner() (gas: 19456) +SignatureCheckerTest:testEOAWithTooHighSValue() (gas: 19974) +SignatureCheckerTest:testEOAWithValidSignature() (gas: 19372) +SignatureCheckerTest:testFuzzEIP1271WithInvalidSigner(string,string) (runs: 256, μ: 31652, ~: 31661) +SignatureCheckerTest:testFuzzEIP1271WithValidSignature(string) (runs: 256, μ: 30299, ~: 30293) +SignatureCheckerTest:testFuzzEOAWithInvalidSignature(bytes,string) (runs: 256, μ: 16382, ~: 16383) +SignatureCheckerTest:testFuzzEOAWithInvalidSigner(string,string) (runs: 256, μ: 20404, ~: 20408) +SignatureCheckerTest:testFuzzEOAWithValidSignature(string,string) (runs: 256, μ: 20314, ~: 20318) SignatureCheckerTest:testInitialSetup() (gas: 8292) -TimelockControllerInvariants:statefulFuzzExecutedLessThanOrEqualToScheduled() (runs: 256, calls: 3840, reverts: 1231) -TimelockControllerInvariants:statefulFuzzExecutedProposalCancellation() (runs: 256, calls: 3840, reverts: 1216) -TimelockControllerInvariants:statefulFuzzExecutingCancelledProposal() (runs: 256, calls: 3840, reverts: 1222) -TimelockControllerInvariants:statefulFuzzExecutingNotReadyProposal() (runs: 256, calls: 3840, reverts: 1229) -TimelockControllerInvariants:statefulFuzzOnceProposalExecution() (runs: 256, calls: 3840, reverts: 1242) -TimelockControllerInvariants:statefulFuzzProposalsExecutedMatchCount() (runs: 256, calls: 3840, reverts: 1232) -TimelockControllerInvariants:statefulFuzzSumOfProposals() (runs: 256, calls: 3840, reverts: 1231) -TimelockControllerTest:testAdminCannotBatchExecute() (gas: 750799) -TimelockControllerTest:testAdminCannotBatchSchedule() (gas: 748585) -TimelockControllerTest:testAdminCannotCancel() (gas: 13498) -TimelockControllerTest:testAdminCannotExecute() (gas: 18575) -TimelockControllerTest:testAdminCannotSchedule() (gas: 16247) -TimelockControllerTest:testBatchCancelFinished() (gas: 4641660) -TimelockControllerTest:testBatchEqualAndGreaterMinimumDelay() (gas: 6145346) -TimelockControllerTest:testBatchHasBeenExecuted() (gas: 4639650) -TimelockControllerTest:testBatchHasNotBeenExecuted() (gas: 3078922) -TimelockControllerTest:testBatchInsufficientDelay() (gas: 1532946) -TimelockControllerTest:testBatchMinimumDelayUpdate() (gas: 3086625) -TimelockControllerTest:testBatchOperationAlreadyScheduled() (gas: 4593620) -TimelockControllerTest:testBatchOperationIsNotReady() (gas: 4598937) -TimelockControllerTest:testBatchPendingIfExecuted() (gas: 4638264) -TimelockControllerTest:testBatchPendingIfNotYetExecuted() (gas: 3078930) -TimelockControllerTest:testBatchPredecessorInvalid() (gas: 4601270) -TimelockControllerTest:testBatchPredecessorMultipleNotExecuted() (gas: 6141972) -TimelockControllerTest:testBatchPredecessorNotExecuted() (gas: 7663243) -TimelockControllerTest:testBatchPredecessorNotScheduled() (gas: 6117130) -TimelockControllerTest:testBatchReadyAfterTheExecutionTime() (gas: 3079475) -TimelockControllerTest:testBatchReadyBeforeTheExecutionTime() (gas: 3079512) -TimelockControllerTest:testBatchReadyOnTheExecutionTime() (gas: 3079378) -TimelockControllerTest:testBatchScheduleAndExecuteWithEmptySalt() (gas: 4647467) -TimelockControllerTest:testBatchScheduleAndExecuteWithNonEmptySalt() (gas: 4650912) -TimelockControllerTest:testBatchTargetRevert() (gas: 9186620) -TimelockControllerTest:testBatchTimestampHasBeenExecuted() (gas: 4638102) -TimelockControllerTest:testBatchTimestampHasNotBeenExecuted() (gas: 3078737) +TimelockControllerInvariants:statefulFuzzExecutedLessThanOrEqualToScheduled() (runs: 256, calls: 3840, reverts: 1241) +TimelockControllerInvariants:statefulFuzzExecutedProposalCancellation() (runs: 256, calls: 3840, reverts: 1226) +TimelockControllerInvariants:statefulFuzzExecutingCancelledProposal() (runs: 256, calls: 3840, reverts: 1258) +TimelockControllerInvariants:statefulFuzzExecutingNotReadyProposal() (runs: 256, calls: 3840, reverts: 1237) +TimelockControllerInvariants:statefulFuzzOnceProposalExecution() (runs: 256, calls: 3840, reverts: 1233) +TimelockControllerInvariants:statefulFuzzProposalsExecutedMatchCount() (runs: 256, calls: 3840, reverts: 1241) +TimelockControllerInvariants:statefulFuzzSumOfProposals() (runs: 256, calls: 3840, reverts: 1241) +TimelockControllerTest:testAdminCannotBatchExecute() (gas: 750675) +TimelockControllerTest:testAdminCannotBatchSchedule() (gas: 748462) +TimelockControllerTest:testAdminCannotCancel() (gas: 13375) +TimelockControllerTest:testAdminCannotExecute() (gas: 18444) +TimelockControllerTest:testAdminCannotSchedule() (gas: 16117) +TimelockControllerTest:testBatchCancelFinished() (gas: 4638301) +TimelockControllerTest:testBatchEqualAndGreaterMinimumDelay() (gas: 6141714) +TimelockControllerTest:testBatchHasBeenExecuted() (gas: 4636414) +TimelockControllerTest:testBatchHasNotBeenExecuted() (gas: 3077106) +TimelockControllerTest:testBatchInsufficientDelay() (gas: 1532094) +TimelockControllerTest:testBatchMinimumDelayUpdate() (gas: 3084809) +TimelockControllerTest:testBatchOperationAlreadyScheduled() (gas: 4590952) +TimelockControllerTest:testBatchOperationIsNotReady() (gas: 4596268) +TimelockControllerTest:testBatchPendingIfExecuted() (gas: 4635028) +TimelockControllerTest:testBatchPendingIfNotYetExecuted() (gas: 3077114) +TimelockControllerTest:testBatchPredecessorInvalid() (gas: 4598601) +TimelockControllerTest:testBatchPredecessorMultipleNotExecuted() (gas: 6138755) +TimelockControllerTest:testBatchPredecessorNotExecuted() (gas: 7658758) +TimelockControllerTest:testBatchPredecessorNotScheduled() (gas: 6113732) +TimelockControllerTest:testBatchReadyAfterTheExecutionTime() (gas: 3077659) +TimelockControllerTest:testBatchReadyBeforeTheExecutionTime() (gas: 3077696) +TimelockControllerTest:testBatchReadyOnTheExecutionTime() (gas: 3077562) +TimelockControllerTest:testBatchScheduleAndExecuteWithEmptySalt() (gas: 4644231) +TimelockControllerTest:testBatchScheduleAndExecuteWithNonEmptySalt() (gas: 4647676) +TimelockControllerTest:testBatchTargetRevert() (gas: 9182132) +TimelockControllerTest:testBatchTimestampHasBeenExecuted() (gas: 4634866) +TimelockControllerTest:testBatchTimestampHasNotBeenExecuted() (gas: 3076921) TimelockControllerTest:testCanReceiveEther() (gas: 15016) -TimelockControllerTest:testCancellerCanCancelOperation() (gas: 3065229) -TimelockControllerTest:testCompleteOperationWithAssignExecutorRoleToZeroAddress() (gas: 125279) -TimelockControllerTest:testCompletePipelineOperationMinimumDelayUpdate() (gas: 73772) -TimelockControllerTest:testCompletePipelineOperationSetRoleAdmin() (gas: 101103) -TimelockControllerTest:testExecutorCanBatchExecute() (gas: 3049703) -TimelockControllerTest:testExecutorCanExecute() (gas: 30278) -TimelockControllerTest:testExecutorCannotBatchSchedule() (gas: 1485827) -TimelockControllerTest:testExecutorCannotCancel() (gas: 15717) -TimelockControllerTest:testExecutorCannotSchedule() (gas: 19429) -TimelockControllerTest:testFuzzBatchValue(uint256) (runs: 256, μ: 4653887, ~: 4653621) -TimelockControllerTest:testFuzzHashOperation(address,uint256,bytes,bytes32,bytes32) (runs: 256, μ: 11080, ~: 10967) -TimelockControllerTest:testFuzzHashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32) (runs: 256, μ: 1897626, ~: 1901405) -TimelockControllerTest:testFuzzOperationValue(uint256) (runs: 256, μ: 114246, ~: 113980) -TimelockControllerTest:testHandleERC1155() (gas: 41662571) -TimelockControllerTest:testHandleERC721() (gas: 7283835) -TimelockControllerTest:testHashOperation() (gas: 13089) -TimelockControllerTest:testHashOperationBatch() (gas: 1526310) -TimelockControllerTest:testInitialSetup() (gas: 4452786) +TimelockControllerTest:testCancellerCanCancelOperation() (gas: 3063412) +TimelockControllerTest:testCompleteOperationWithAssignExecutorRoleToZeroAddress() (gas: 122842) +TimelockControllerTest:testCompletePipelineOperationMinimumDelayUpdate() (gas: 71718) +TimelockControllerTest:testCompletePipelineOperationSetRoleAdmin() (gas: 98668) +TimelockControllerTest:testExecutorCanBatchExecute() (gas: 3048955) +TimelockControllerTest:testExecutorCanExecute() (gas: 29504) +TimelockControllerTest:testExecutorCannotBatchSchedule() (gas: 1485581) +TimelockControllerTest:testExecutorCannotCancel() (gas: 15471) +TimelockControllerTest:testExecutorCannotSchedule() (gas: 19169) +TimelockControllerTest:testFuzzBatchValue(uint256) (runs: 256, μ: 4650565, ~: 4650302) +TimelockControllerTest:testFuzzHashOperation(address,uint256,bytes,bytes32,bytes32) (runs: 256, μ: 10565, ~: 10545) +TimelockControllerTest:testFuzzHashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32) (runs: 256, μ: 1829506, ~: 1832547) +TimelockControllerTest:testFuzzOperationValue(uint256) (runs: 256, μ: 111638, ~: 111375) +TimelockControllerTest:testHandleERC1155() (gas: 41475555) +TimelockControllerTest:testHandleERC721() (gas: 7158566) +TimelockControllerTest:testHashOperation() (gas: 12363) +TimelockControllerTest:testHashOperationBatch() (gas: 1525346) +TimelockControllerTest:testInitialSetup() (gas: 4297248) TimelockControllerTest:testInvalidOperation() (gas: 10719) -TimelockControllerTest:testOperationAlreadyScheduled() (gas: 52525) -TimelockControllerTest:testOperationCancelFinished() (gas: 102104) -TimelockControllerTest:testOperationEqualAndGreaterMinimumDelay() (gas: 90744) -TimelockControllerTest:testOperationHasBeenExecuted() (gas: 100127) -TimelockControllerTest:testOperationHasNotBeenExecuted() (gas: 52723) -TimelockControllerTest:testOperationInsufficientDelay() (gas: 19660) -TimelockControllerTest:testOperationMinimumDelayUpdate() (gas: 61766) -TimelockControllerTest:testOperationOperationIsNotReady() (gas: 57880) -TimelockControllerTest:testOperationPendingIfExecuted() (gas: 98697) -TimelockControllerTest:testOperationPendingIfNotYetExecuted() (gas: 52787) -TimelockControllerTest:testOperationPredecessorInvalid() (gas: 63040) -TimelockControllerTest:testOperationPredecessorMultipleNotExecuted() (gas: 92693) -TimelockControllerTest:testOperationPredecessorNotExecuted() (gas: 99454) -TimelockControllerTest:testOperationPredecessorNotScheduled() (gas: 66919) -TimelockControllerTest:testOperationReadyAfterTheExecutionTime() (gas: 53322) -TimelockControllerTest:testOperationReadyBeforeTheExecutionTime() (gas: 53285) -TimelockControllerTest:testOperationReadyOnTheExecutionTime() (gas: 53159) -TimelockControllerTest:testOperationTargetRevert() (gas: 110335) -TimelockControllerTest:testOperationTimestampHasBeenExecuted() (gas: 98471) -TimelockControllerTest:testOperationTimestampHasNotBeenExecuted() (gas: 52561) -TimelockControllerTest:testProposerCanBatchSchedule() (gas: 3088695) -TimelockControllerTest:testProposerCanCancel() (gas: 20647) -TimelockControllerTest:testProposerCanSchedule() (gas: 75613) -TimelockControllerTest:testProposerCannotBatchExecute() (gas: 1490238) -TimelockControllerTest:testProposerCannotExecute() (gas: 23955) +TimelockControllerTest:testOperationAlreadyScheduled() (gas: 51483) +TimelockControllerTest:testOperationCancelFinished() (gas: 99459) +TimelockControllerTest:testOperationEqualAndGreaterMinimumDelay() (gas: 89432) +TimelockControllerTest:testOperationHasBeenExecuted() (gas: 97605) +TimelockControllerTest:testOperationHasNotBeenExecuted() (gas: 51383) +TimelockControllerTest:testOperationInsufficientDelay() (gas: 19274) +TimelockControllerTest:testOperationMinimumDelayUpdate() (gas: 61110) +TimelockControllerTest:testOperationOperationIsNotReady() (gas: 56837) +TimelockControllerTest:testOperationPendingIfExecuted() (gas: 96175) +TimelockControllerTest:testOperationPendingIfNotYetExecuted() (gas: 51447) +TimelockControllerTest:testOperationPredecessorInvalid() (gas: 61085) +TimelockControllerTest:testOperationPredecessorMultipleNotExecuted() (gas: 90428) +TimelockControllerTest:testOperationPredecessorNotExecuted() (gas: 96159) +TimelockControllerTest:testOperationPredecessorNotScheduled() (gas: 64473) +TimelockControllerTest:testOperationReadyAfterTheExecutionTime() (gas: 51982) +TimelockControllerTest:testOperationReadyBeforeTheExecutionTime() (gas: 51945) +TimelockControllerTest:testOperationReadyOnTheExecutionTime() (gas: 51819) +TimelockControllerTest:testOperationTargetRevert() (gas: 107275) +TimelockControllerTest:testOperationTimestampHasBeenExecuted() (gas: 95949) +TimelockControllerTest:testOperationTimestampHasNotBeenExecuted() (gas: 51221) +TimelockControllerTest:testProposerCanBatchSchedule() (gas: 3088193) +TimelockControllerTest:testProposerCanCancel() (gas: 20401) +TimelockControllerTest:testProposerCanSchedule() (gas: 74841) +TimelockControllerTest:testProposerCannotBatchExecute() (gas: 1489990) +TimelockControllerTest:testProposerCannotExecute() (gas: 23693) TimelockControllerTest:testReturnsLaterMinimumDelayForCalls() (gas: 20803) -TimelockControllerTest:testRevertWhenNotTimelock() (gas: 9272) -TimelockControllerTest:testScheduleAndExecuteWithEmptySalt() (gas: 107953) -TimelockControllerTest:testScheduleAndExecuteWithNonEmptySalt() (gas: 111310) -TimelockControllerTest:testStrangerCannotBatchExecute() (gas: 748818) -TimelockControllerTest:testStrangerCannotBatchSchedule() (gas: 746625) -TimelockControllerTest:testStrangerCannotCancel() (gas: 11494) -TimelockControllerTest:testStrangerCannotExecute() (gas: 16592) -TimelockControllerTest:testStrangerCannotSchedule() (gas: 14376) +TimelockControllerTest:testRevertWhenNotTimelock() (gas: 9150) +TimelockControllerTest:testScheduleAndExecuteWithEmptySalt() (gas: 105431) +TimelockControllerTest:testScheduleAndExecuteWithNonEmptySalt() (gas: 108788) +TimelockControllerTest:testStrangerCannotBatchExecute() (gas: 748694) +TimelockControllerTest:testStrangerCannotBatchSchedule() (gas: 746502) +TimelockControllerTest:testStrangerCannotCancel() (gas: 11371) +TimelockControllerTest:testStrangerCannotExecute() (gas: 16461) +TimelockControllerTest:testStrangerCannotSchedule() (gas: 14246) TimelockControllerTest:testSupportsInterfaceInvalidInterfaceId() (gas: 8490) TimelockControllerTest:testSupportsInterfaceInvalidInterfaceIdGasCost() (gas: 9280) TimelockControllerTest:testSupportsInterfaceSuccess() (gas: 10814) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 0c5c8047..2882744f 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -110,4 +110,4 @@ jobs: awesome_bot ./*.md src/snekmate/**/*.vy src/snekmate/**/mocks/*.vy src/snekmate/**/interfaces/*.vyi \ test/**/*.sol test/**/interfaces/*.sol test/**/mocks/*.sol test/**/scripts/*.js lib/utils/*.py \ --allow-dupe --allow-redirect --request-delay 0.4 \ - --white-list https://www.wagmi.xyz,https://github.com/pcaversaccio/snekmate.git@,https://github.com/pcaversaccio/snekmate/releases/tag/v0.1.0,https://github.com/pcaversaccio/snekmate/blob/v0.1.0,https://github.com/pcaversaccio/snekmate/compare/v0.0.5...v0.1.0 + --white-list https://www.wagmi.xyz,https://github.com/pcaversaccio/snekmate.git@,https://github.com/pcaversaccio/snekmate/releases/tag/v0.1.0,https://github.com/pcaversaccio/snekmate/blob/v0.1.0,https://github.com/pcaversaccio/snekmate/compare/v0.0.5...v0.1.0,https://github.com/vyperlang/vyper/releases/tag/v0.4.0 diff --git a/.github/workflows/test-contracts.yml b/.github/workflows/test-contracts.yml index 2d871c7d..94215f5e 100644 --- a/.github/workflows/test-contracts.yml +++ b/.github/workflows/test-contracts.yml @@ -94,7 +94,7 @@ jobs: FOUNDRY_PROFILE: default - name: Run snapshot - run: NO_COLOR=1 forge snapshot --build-info >> $GITHUB_STEP_SUMMARY + run: NO_COLOR=1 forge snapshot >> $GITHUB_STEP_SUMMARY env: FOUNDRY_PROFILE: default @@ -107,10 +107,24 @@ jobs: - name: Show the Echidna version run: echidna --version + - name: Show the Foundry Echidna config + run: forge config + env: + FOUNDRY_PROFILE: echidna + + - name: Compile the Echidna test contracts + run: forge build --build-info + env: + FOUNDRY_PROFILE: echidna + - name: Run Echidna ERC-20 property tests run: | - echidna test/tokens/echidna/ERC20Properties.sol --contract CryticERC20ExternalHarness --config test/tokens/echidna/echidna-config.yaml --crytic-args --ignore-compile + echidna test/tokens/echidna/ERC20Properties.sol --contract CryticERC20ExternalHarness --config test/tokens/echidna/echidna-config.yaml + env: + FOUNDRY_PROFILE: echidna - name: Run Echidna ERC-721 property tests run: | - echidna test/tokens/echidna/ERC721Properties.sol --contract CryticERC721ExternalHarness --config test/tokens/echidna/echidna-config.yaml --crytic-args --ignore-compile + echidna test/tokens/echidna/ERC721Properties.sol --contract CryticERC721ExternalHarness --config test/tokens/echidna/echidna-config.yaml + env: + FOUNDRY_PROFILE: echidna diff --git a/CHANGELOG.md b/CHANGELOG.md index 95a61014..db94dbd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,14 @@ - The file names of 🐍 snekmate module and mock contracts use the _snake case_ notation (e.g. `my_module.vy` or `my_module_mock.vy`), whilst the Vyper interface files `.vyi` use the _Pascal case_ notation prefixed with `I` (e.g. `IMyInterface.vyi`). ([#242](https://github.com/pcaversaccio/snekmate/pull/242)) - The mathematical utility functions `_log_2`, `_log_10`, and `_log_256` are renamed to `_log2`, `_log10`, and `_log256`. ([#242](https://github.com/pcaversaccio/snekmate/pull/242)) +- All 🐍 snekmate contracts now target the new Vyper [default EVM version](https://github.com/vyperlang/vyper/pull/4029) `cancun` ([#245](https://github.com/pcaversaccio/snekmate/pull/245)). If you intend to deploy on an EVM chain with no `cancun` support, you must compile — using the `shanghai` EVM version as an example — the main contract that uses the 🐍 snekmate module contracts with the `--evm-version shanghai` option; e.g. `vyper --evm-version shanghai src/snekmate/tokens/mocks/erc20_mock.vy`, or add the `# pragma evm-version shanghai` directive to the main contract that uses the 🐍 snekmate module contracts: + +```vyper +# pragma version ~=0.4.0 +# pragma evm-version shanghai + +... +``` ### 👀 Full Changelog diff --git a/README.md b/README.md index fa6c4e1f..7cb9e7b1 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ forge install pcaversaccio/snekmate ``` > [!NOTE] -> If you want to leverage 🐍 snekmate's [`VyperDeployer`](./lib/utils/VyperDeployer.sol) contract for your own testing, ensure that you compile the Vyper contracts with the same EVM version as configured in your `foundry.toml` file. The [`VyperDeployer`](./lib/utils/VyperDeployer.sol) contract offers two overloaded `deployContract` functions that allow the configuration of the target EVM version. Please note that since Vyper version [`0.3.8`](https://github.com/vyperlang/vyper/releases/tag/v0.3.8) the default EVM version is set to `shanghai`. Furthermore, the [`VyperDeployer`](./lib/utils/VyperDeployer.sol) contract relies on the Python script [`compile.py`](./lib/utils/compile.py) for successful compilation and deployment. Always use the [`VyperDeployer`](./lib/utils/VyperDeployer.sol) contract alongside with the aforementioned script. +> If you want to leverage 🐍 snekmate's [`VyperDeployer`](./lib/utils/VyperDeployer.sol) contract for your own testing, ensure that you compile the Vyper contracts with the same EVM version as configured in your `foundry.toml` file. The [`VyperDeployer`](./lib/utils/VyperDeployer.sol) contract offers two overloaded `deployContract` functions that allow the configuration of the target EVM version. Please note that since Vyper version [`0.4.0`](https://github.com/vyperlang/vyper/releases/tag/v0.4.0) the default EVM version is set to `cancun`. Furthermore, the [`VyperDeployer`](./lib/utils/VyperDeployer.sol) contract relies on the Python script [`compile.py`](./lib/utils/compile.py) for successful compilation and deployment. Always use the [`VyperDeployer`](./lib/utils/VyperDeployer.sol) contract alongside with the aforementioned script. ### 2️⃣ PyPI @@ -176,10 +176,10 @@ Furthermore, the [`echidna`](https://github.com/crytic/echidna)-based [property] ```console # Run Echidna ERC-20 property tests. -~$ echidna test/tokens/echidna/ERC20Properties.sol --contract CryticERC20ExternalHarness --config test/tokens/echidna/echidna-config.yaml --crytic-args --ignore-compile +~$ FOUNDRY_PROFILE=echidna echidna test/tokens/echidna/ERC20Properties.sol --contract CryticERC20ExternalHarness --config test/tokens/echidna/echidna-config.yaml # Run Echidna ERC-721 property tests. -~$ echidna test/tokens/echidna/ERC721Properties.sol --contract CryticERC721ExternalHarness --config test/tokens/echidna/echidna-config.yaml --crytic-args --ignore-compile +~$ FOUNDRY_PROFILE=echidna echidna test/tokens/echidna/ERC721Properties.sol --contract CryticERC721ExternalHarness --config test/tokens/echidna/echidna-config.yaml ``` > [!TIP] diff --git a/ape-config.yaml b/ape-config.yaml index 793d4989..67dc162c 100644 --- a/ape-config.yaml +++ b/ape-config.yaml @@ -4,4 +4,4 @@ default_ecosystem: ethereum plugins: - name: vyper vyper: - evm_version: shanghai + evm_version: cancun diff --git a/foundry.toml b/foundry.toml index 10605777..375103a5 100644 --- a/foundry.toml +++ b/foundry.toml @@ -13,7 +13,7 @@ ffi = true # whether to enable verbosity = 3 # the verbosity of tests fs_permissions = [{ access = "read-write", path = "./"}] # set read-write access to project root solc_version = '0.8.25' # override for the solc version -evm_version = 'shanghai' # set the EVM target version +evm_version = 'cancun' # set the EVM target version no_match_path = 'test/tokens/echidna/**/*' # only run tests in test directory that do not match the specified glob pattern ## default overrides for the CI runs @@ -22,3 +22,8 @@ force = true # always perform a c fuzz = { runs = 10_000, max_test_rejects = 350_000 } # increase the number of fuzz runs and maximum number of combined inputs that may be rejected for the tests invariant = { runs = 5_000 } # increase the number of runs that must execute for each invariant test group verbosity = 4 # increase the verbosity of tests + +## default overrides for the Echidna tests +[profile.echidna] +force = true # always perform a clean build +evm_version = 'shanghai' # set the EVM target version to `shanghai` diff --git a/lib/utils/VyperDeployer.sol b/lib/utils/VyperDeployer.sol index 5e652f06..8863d3cb 100644 --- a/lib/utils/VyperDeployer.sol +++ b/lib/utils/VyperDeployer.sol @@ -175,7 +175,7 @@ contract VyperDeployer is Create { * @param fileName The file name of the Vyper contract. * For example, the file name for "ECDSA.vy" is "ECDSA". * @param evmVersion The EVM version used for compilation. - * For example, the EVM version for the Paris hard fork is "paris". + * For example, the EVM version for the Cancun-Deneb hard fork is "cancun". * You can retrieve all available Vyper EVM versions by invoking `vyper -h`. * @return deployedAddress The address that the contract was deployed to. */ @@ -240,7 +240,7 @@ contract VyperDeployer is Create { * For example, the file name for "ECDSA.vy" is "ECDSA". * @param args The ABI-encoded constructor arguments. * @param evmVersion The EVM version used for compilation. - * For example, the EVM version for the Paris hard fork is "paris". + * For example, the EVM version for the Cancun-Deneb hard fork is "cancun". * You can retrieve all available Vyper EVM versions by invoking `vyper -h`. * @return deployedAddress The address that the contract was deployed to. */ diff --git a/src/snekmate/auth/access_control.vy b/src/snekmate/auth/access_control.vy index b5be9d04..d91fc022 100644 --- a/src/snekmate/auth/access_control.vy +++ b/src/snekmate/auth/access_control.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Multi-Role-Based Access Control Functions @custom:contract-name access_control diff --git a/src/snekmate/auth/interfaces/IAccessControl.vyi b/src/snekmate/auth/interfaces/IAccessControl.vyi index af8b19f3..73c9826a 100644 --- a/src/snekmate/auth/interfaces/IAccessControl.vyi +++ b/src/snekmate/auth/interfaces/IAccessControl.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `access_control` Interface Definition @custom:contract-name IAccessControl diff --git a/src/snekmate/auth/mocks/access_control_mock.vy b/src/snekmate/auth/mocks/access_control_mock.vy index 4b4e314e..31d675c8 100644 --- a/src/snekmate/auth/mocks/access_control_mock.vy +++ b/src/snekmate/auth/mocks/access_control_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `access_control` Module Reference Implementation @custom:contract-name access_control_mock diff --git a/src/snekmate/auth/mocks/ownable_2step_mock.vy b/src/snekmate/auth/mocks/ownable_2step_mock.vy index dc756bdf..24510ef3 100644 --- a/src/snekmate/auth/mocks/ownable_2step_mock.vy +++ b/src/snekmate/auth/mocks/ownable_2step_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `ownable_2step` Module Reference Implementation @custom:contract-name ownable_2step_mock diff --git a/src/snekmate/auth/mocks/ownable_mock.vy b/src/snekmate/auth/mocks/ownable_mock.vy index 5dffce61..d318750e 100644 --- a/src/snekmate/auth/mocks/ownable_mock.vy +++ b/src/snekmate/auth/mocks/ownable_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `ownable` Module Reference Implementation @custom:contract-name ownable_mock diff --git a/src/snekmate/auth/ownable.vy b/src/snekmate/auth/ownable.vy index 3f80fce6..466041c0 100644 --- a/src/snekmate/auth/ownable.vy +++ b/src/snekmate/auth/ownable.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Owner-Based Access Control Functions @custom:contract-name ownable diff --git a/src/snekmate/auth/ownable_2step.vy b/src/snekmate/auth/ownable_2step.vy index 265b9232..cc6a183c 100644 --- a/src/snekmate/auth/ownable_2step.vy +++ b/src/snekmate/auth/ownable_2step.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title 2-Step Ownership Transfer Functions @custom:contract-name ownable_2step diff --git a/src/snekmate/extensions/erc2981.vy b/src/snekmate/extensions/erc2981.vy index 7aefa374..662f6288 100644 --- a/src/snekmate/extensions/erc2981.vy +++ b/src/snekmate/extensions/erc2981.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title ERC-721 and ERC-1155 Compatible ERC-2981 Reference Implementation @custom:contract-name erc2981 diff --git a/src/snekmate/extensions/erc4626.vy b/src/snekmate/extensions/erc4626.vy index 4a0af3ea..80993b08 100644 --- a/src/snekmate/extensions/erc4626.vy +++ b/src/snekmate/extensions/erc4626.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Modern and Gas-Efficient ERC-4626 Tokenised Vault Implementation @custom:contract-name erc4626 diff --git a/src/snekmate/extensions/interfaces/IERC2981.vyi b/src/snekmate/extensions/interfaces/IERC2981.vyi index 55a850c2..ee40ac14 100644 --- a/src/snekmate/extensions/interfaces/IERC2981.vyi +++ b/src/snekmate/extensions/interfaces/IERC2981.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-2981 Interface Definition @custom:contract-name IERC2981 diff --git a/src/snekmate/extensions/mocks/erc2981_mock.vy b/src/snekmate/extensions/mocks/erc2981_mock.vy index 7e0425a0..04e9f3f1 100644 --- a/src/snekmate/extensions/mocks/erc2981_mock.vy +++ b/src/snekmate/extensions/mocks/erc2981_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `erc2981` Module Reference Implementation @custom:contract-name erc2981_mock diff --git a/src/snekmate/extensions/mocks/erc4626_mock.vy b/src/snekmate/extensions/mocks/erc4626_mock.vy index 67271977..8aa6f7ac 100644 --- a/src/snekmate/extensions/mocks/erc4626_mock.vy +++ b/src/snekmate/extensions/mocks/erc4626_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `erc4626` Module Reference Implementation @custom:contract-name erc4626_mock diff --git a/src/snekmate/governance/mocks/timelock_controller_mock.vy b/src/snekmate/governance/mocks/timelock_controller_mock.vy index fdd259ca..59e340e4 100644 --- a/src/snekmate/governance/mocks/timelock_controller_mock.vy +++ b/src/snekmate/governance/mocks/timelock_controller_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `timelock_controller` Module Reference Implementation @custom:contract-name timelock_controller_mock diff --git a/src/snekmate/governance/timelock_controller.vy b/src/snekmate/governance/timelock_controller.vy index fc86e165..fbadda89 100644 --- a/src/snekmate/governance/timelock_controller.vy +++ b/src/snekmate/governance/timelock_controller.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Multi-Role-Based Timelock Controller Reference Implementation @custom:contract-name timelock_controller @@ -153,7 +153,7 @@ _DYNARRAY_BOUND: constant(uint8) = max_value(uint8) # `uint8`) in the form `2**n`, where `n` is the index of # the member in the range `0 <= n <= 255` (i.e. the first # index value is `1`). For further insights also, see -# the following Twitter thread: +# the following X thread: # https://x.com/pcaversaccio/status/1626514029094047747. flag OperationState: UNSET diff --git a/src/snekmate/tokens/erc1155.vy b/src/snekmate/tokens/erc1155.vy index 36323975..382c9408 100644 --- a/src/snekmate/tokens/erc1155.vy +++ b/src/snekmate/tokens/erc1155.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Modern and Gas-Efficient ERC-1155 Implementation @custom:contract-name erc1155 diff --git a/src/snekmate/tokens/erc20.vy b/src/snekmate/tokens/erc20.vy index c96fe67a..23364127 100644 --- a/src/snekmate/tokens/erc20.vy +++ b/src/snekmate/tokens/erc20.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Modern and Gas-Efficient ERC-20 + EIP-2612 Implementation @custom:contract-name erc20 diff --git a/src/snekmate/tokens/erc721.vy b/src/snekmate/tokens/erc721.vy index 77cae30f..7d29fddc 100644 --- a/src/snekmate/tokens/erc721.vy +++ b/src/snekmate/tokens/erc721.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Modern and Gas-Efficient ERC-721 + EIP-4494 Implementation @custom:contract-name erc721 diff --git a/src/snekmate/tokens/interfaces/IERC1155.vyi b/src/snekmate/tokens/interfaces/IERC1155.vyi index 6a453d0d..2cf040d6 100644 --- a/src/snekmate/tokens/interfaces/IERC1155.vyi +++ b/src/snekmate/tokens/interfaces/IERC1155.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-1155 Interface Definition @custom:contract-name IERC1155 diff --git a/src/snekmate/tokens/interfaces/IERC1155MetadataURI.vyi b/src/snekmate/tokens/interfaces/IERC1155MetadataURI.vyi index 8462bb91..b2888cc8 100644 --- a/src/snekmate/tokens/interfaces/IERC1155MetadataURI.vyi +++ b/src/snekmate/tokens/interfaces/IERC1155MetadataURI.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-1155 Optional Metadata Interface Definition @custom:contract-name IERC1155MetadataURI diff --git a/src/snekmate/tokens/interfaces/IERC1155Receiver.vyi b/src/snekmate/tokens/interfaces/IERC1155Receiver.vyi index 4bd7a8b0..b4bed3c7 100644 --- a/src/snekmate/tokens/interfaces/IERC1155Receiver.vyi +++ b/src/snekmate/tokens/interfaces/IERC1155Receiver.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-1155 Token Receiver Interface Definition @custom:contract-name IERC1155Receiver diff --git a/src/snekmate/tokens/interfaces/IERC20Permit.vyi b/src/snekmate/tokens/interfaces/IERC20Permit.vyi index 75fc081a..a3dc3327 100644 --- a/src/snekmate/tokens/interfaces/IERC20Permit.vyi +++ b/src/snekmate/tokens/interfaces/IERC20Permit.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-2612 Interface Definition @custom:contract-name IERC20Permit diff --git a/src/snekmate/tokens/interfaces/IERC4906.vyi b/src/snekmate/tokens/interfaces/IERC4906.vyi index 715c3874..8bed01a0 100644 --- a/src/snekmate/tokens/interfaces/IERC4906.vyi +++ b/src/snekmate/tokens/interfaces/IERC4906.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-4906 Interface Definition @custom:contract-name IERC4906 diff --git a/src/snekmate/tokens/interfaces/IERC721Enumerable.vyi b/src/snekmate/tokens/interfaces/IERC721Enumerable.vyi index 5931e7ac..6f0f759c 100644 --- a/src/snekmate/tokens/interfaces/IERC721Enumerable.vyi +++ b/src/snekmate/tokens/interfaces/IERC721Enumerable.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-721 Optional Enumeration Interface Definition @custom:contract-name IERC721Enumerable diff --git a/src/snekmate/tokens/interfaces/IERC721Metadata.vyi b/src/snekmate/tokens/interfaces/IERC721Metadata.vyi index b6a89b4b..9475d0c8 100644 --- a/src/snekmate/tokens/interfaces/IERC721Metadata.vyi +++ b/src/snekmate/tokens/interfaces/IERC721Metadata.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-721 Optional Metadata Interface Definition @custom:contract-name IERC721Metadata diff --git a/src/snekmate/tokens/interfaces/IERC721Permit.vyi b/src/snekmate/tokens/interfaces/IERC721Permit.vyi index 25993e70..8826b730 100644 --- a/src/snekmate/tokens/interfaces/IERC721Permit.vyi +++ b/src/snekmate/tokens/interfaces/IERC721Permit.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-4494 Interface Definition @custom:contract-name IERC721Permit diff --git a/src/snekmate/tokens/interfaces/IERC721Receiver.vyi b/src/snekmate/tokens/interfaces/IERC721Receiver.vyi index d0caa9e5..a932f6a7 100644 --- a/src/snekmate/tokens/interfaces/IERC721Receiver.vyi +++ b/src/snekmate/tokens/interfaces/IERC721Receiver.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-721 Token Receiver Interface Definition @custom:contract-name IERC721Receiver diff --git a/src/snekmate/tokens/mocks/erc1155_mock.vy b/src/snekmate/tokens/mocks/erc1155_mock.vy index b31d3c32..fa5763fb 100644 --- a/src/snekmate/tokens/mocks/erc1155_mock.vy +++ b/src/snekmate/tokens/mocks/erc1155_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `erc1155` Module Reference Implementation @custom:contract-name erc1155_mock diff --git a/src/snekmate/tokens/mocks/erc20_mock.vy b/src/snekmate/tokens/mocks/erc20_mock.vy index 66132b7a..4a59f772 100644 --- a/src/snekmate/tokens/mocks/erc20_mock.vy +++ b/src/snekmate/tokens/mocks/erc20_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `erc20` Module Reference Implementation @custom:contract-name erc20_mock diff --git a/src/snekmate/tokens/mocks/erc721_mock.vy b/src/snekmate/tokens/mocks/erc721_mock.vy index 47e2c842..ce977d67 100644 --- a/src/snekmate/tokens/mocks/erc721_mock.vy +++ b/src/snekmate/tokens/mocks/erc721_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `erc721` Module Reference Implementation @custom:contract-name erc721_mock diff --git a/src/snekmate/utils/base64.vy b/src/snekmate/utils/base64.vy index 3c8ccf95..4d21740c 100644 --- a/src/snekmate/utils/base64.vy +++ b/src/snekmate/utils/base64.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Base64 Encoding and Decoding Functions @custom:contract-name base64 diff --git a/src/snekmate/utils/batch_distributor.vy b/src/snekmate/utils/batch_distributor.vy index f100c940..09f4e51e 100644 --- a/src/snekmate/utils/batch_distributor.vy +++ b/src/snekmate/utils/batch_distributor.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Batch Sending Both Native and ERC-20 Tokens @custom:contract-name batch_distributor diff --git a/src/snekmate/utils/create2_address.vy b/src/snekmate/utils/create2_address.vy index 8e223d50..57cf3dbd 100644 --- a/src/snekmate/utils/create2_address.vy +++ b/src/snekmate/utils/create2_address.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `CREATE2` EVM Opcode Utility Functions for Address Calculations @custom:contract-name create2_address diff --git a/src/snekmate/utils/create_address.vy b/src/snekmate/utils/create_address.vy index fc9a2a29..143232e8 100644 --- a/src/snekmate/utils/create_address.vy +++ b/src/snekmate/utils/create_address.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `CREATE` EVM Opcode Utility Functions for Address Calculations @custom:contract-name create_address diff --git a/src/snekmate/utils/ecdsa.vy b/src/snekmate/utils/ecdsa.vy index 8969f56b..579c17a5 100644 --- a/src/snekmate/utils/ecdsa.vy +++ b/src/snekmate/utils/ecdsa.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Elliptic Curve Digital Signature Algorithm (ECDSA) Secp256k1-Based Functions @custom:contract-name ecdsa diff --git a/src/snekmate/utils/eip712_domain_separator.vy b/src/snekmate/utils/eip712_domain_separator.vy index f58a5df8..2f65b4f5 100644 --- a/src/snekmate/utils/eip712_domain_separator.vy +++ b/src/snekmate/utils/eip712_domain_separator.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-712 Domain Separator @custom:contract-name eip712_domain_separator diff --git a/src/snekmate/utils/interfaces/IERC1271.vyi b/src/snekmate/utils/interfaces/IERC1271.vyi index d85ec6f9..a3f7e302 100644 --- a/src/snekmate/utils/interfaces/IERC1271.vyi +++ b/src/snekmate/utils/interfaces/IERC1271.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-1271 Interface Definition @custom:contract-name IERC1271 diff --git a/src/snekmate/utils/interfaces/IERC5267.vyi b/src/snekmate/utils/interfaces/IERC5267.vyi index de0382e4..a2f628d0 100644 --- a/src/snekmate/utils/interfaces/IERC5267.vyi +++ b/src/snekmate/utils/interfaces/IERC5267.vyi @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title EIP-5267 Interface Definition @custom:contract-name IERC5267 diff --git a/src/snekmate/utils/math.vy b/src/snekmate/utils/math.vy index 7094e7d3..94808783 100644 --- a/src/snekmate/utils/math.vy +++ b/src/snekmate/utils/math.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Standard Mathematical Utility Functions @custom:contract-name math diff --git a/src/snekmate/utils/merkle_proof_verification.vy b/src/snekmate/utils/merkle_proof_verification.vy index 3c283125..71a6a46f 100644 --- a/src/snekmate/utils/merkle_proof_verification.vy +++ b/src/snekmate/utils/merkle_proof_verification.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Merkle Tree Proof Verification Functions @custom:contract-name merkle_proof_verification diff --git a/src/snekmate/utils/message_hash_utils.vy b/src/snekmate/utils/message_hash_utils.vy index ded5661e..3626dd6a 100644 --- a/src/snekmate/utils/message_hash_utils.vy +++ b/src/snekmate/utils/message_hash_utils.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Signature Message Hash Utility Functions @custom:contract-name message_hash_utils diff --git a/src/snekmate/utils/mocks/base64_mock.vy b/src/snekmate/utils/mocks/base64_mock.vy index 8d241e71..1b747809 100644 --- a/src/snekmate/utils/mocks/base64_mock.vy +++ b/src/snekmate/utils/mocks/base64_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `base64` Module Reference Implementation @custom:contract-name base64_mock diff --git a/src/snekmate/utils/mocks/batch_distributor_mock.vy b/src/snekmate/utils/mocks/batch_distributor_mock.vy index 43d5f2e2..159c6b4c 100644 --- a/src/snekmate/utils/mocks/batch_distributor_mock.vy +++ b/src/snekmate/utils/mocks/batch_distributor_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `batch_distributor` Module Reference Implementation @custom:contract-name batch_distributor_mock diff --git a/src/snekmate/utils/mocks/create2_address_mock.vy b/src/snekmate/utils/mocks/create2_address_mock.vy index 85509ad6..fc5a04d1 100644 --- a/src/snekmate/utils/mocks/create2_address_mock.vy +++ b/src/snekmate/utils/mocks/create2_address_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `create2_address` Module Reference Implementation @custom:contract-name create2_address_mock diff --git a/src/snekmate/utils/mocks/create_address_mock.vy b/src/snekmate/utils/mocks/create_address_mock.vy index 2b4f61b3..1b9c449d 100644 --- a/src/snekmate/utils/mocks/create_address_mock.vy +++ b/src/snekmate/utils/mocks/create_address_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `create_address` Module Reference Implementation @custom:contract-name create_address_mock diff --git a/src/snekmate/utils/mocks/ecdsa_mock.vy b/src/snekmate/utils/mocks/ecdsa_mock.vy index ba24cf4f..5d0518ee 100644 --- a/src/snekmate/utils/mocks/ecdsa_mock.vy +++ b/src/snekmate/utils/mocks/ecdsa_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `ecdsa` Module Reference Implementation @custom:contract-name ecdsa_mock diff --git a/src/snekmate/utils/mocks/eip712_domain_separator_mock.vy b/src/snekmate/utils/mocks/eip712_domain_separator_mock.vy index 1da7db37..92e743d3 100644 --- a/src/snekmate/utils/mocks/eip712_domain_separator_mock.vy +++ b/src/snekmate/utils/mocks/eip712_domain_separator_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `eip712_domain_separator` Module Reference Implementation @custom:contract-name eip712_domain_separator_mock diff --git a/src/snekmate/utils/mocks/math_mock.vy b/src/snekmate/utils/mocks/math_mock.vy index ab92c32c..66f9f8f1 100644 --- a/src/snekmate/utils/mocks/math_mock.vy +++ b/src/snekmate/utils/mocks/math_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `math` Module Reference Implementation @custom:contract-name math_mock diff --git a/src/snekmate/utils/mocks/merkle_proof_verification_mock.vy b/src/snekmate/utils/mocks/merkle_proof_verification_mock.vy index a91bcb19..3c96d127 100644 --- a/src/snekmate/utils/mocks/merkle_proof_verification_mock.vy +++ b/src/snekmate/utils/mocks/merkle_proof_verification_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `merkle_proof_verification` Module Reference Implementation @custom:contract-name merkle_proof_verification_mock diff --git a/src/snekmate/utils/mocks/message_hash_utils_mock.vy b/src/snekmate/utils/mocks/message_hash_utils_mock.vy index 10485cb8..892a2ab2 100644 --- a/src/snekmate/utils/mocks/message_hash_utils_mock.vy +++ b/src/snekmate/utils/mocks/message_hash_utils_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `message_hash_utils` Module Reference Implementation @custom:contract-name message_hash_utils_mock diff --git a/src/snekmate/utils/mocks/multicall_mock.vy b/src/snekmate/utils/mocks/multicall_mock.vy index 6a6fffc0..59e8ee35 100644 --- a/src/snekmate/utils/mocks/multicall_mock.vy +++ b/src/snekmate/utils/mocks/multicall_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `multicall` Module Reference Implementation @custom:contract-name multicall_mock diff --git a/src/snekmate/utils/mocks/p256_mock.vy b/src/snekmate/utils/mocks/p256_mock.vy index d00c142e..f7abbced 100644 --- a/src/snekmate/utils/mocks/p256_mock.vy +++ b/src/snekmate/utils/mocks/p256_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `p256` Module Reference Implementation @custom:contract-name p256_mock diff --git a/src/snekmate/utils/mocks/signature_checker_mock.vy b/src/snekmate/utils/mocks/signature_checker_mock.vy index 6bb7be98..78d009da 100644 --- a/src/snekmate/utils/mocks/signature_checker_mock.vy +++ b/src/snekmate/utils/mocks/signature_checker_mock.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title `signature_checker` Module Reference Implementation @custom:contract-name signature_checker_mock diff --git a/src/snekmate/utils/multicall.vy b/src/snekmate/utils/multicall.vy index e5679661..1aa7d98b 100644 --- a/src/snekmate/utils/multicall.vy +++ b/src/snekmate/utils/multicall.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Multicall Functions @custom:contract-name multicall @@ -121,7 +121,7 @@ def _multicall_value(data: DynArray[BatchValue, _DYNARRAY_BOUND]) -> DynArray[Re # WARNING: If you expect to hold any funds in a contract that integrates # this function, you must ensure that the next line uses checked arithmetic! # Please read the contract-level security notice carefully. For further - # insights also, see the following Twitter thread: + # insights also, see the following X thread: # https://x.com/Guhu95/status/1736983530343981307. value_accumulator = unsafe_add(value_accumulator, msg_value) if (batch.allow_failure == False): diff --git a/src/snekmate/utils/p256.vy b/src/snekmate/utils/p256.vy index 03d075a1..b48f3cdd 100644 --- a/src/snekmate/utils/p256.vy +++ b/src/snekmate/utils/p256.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title Elliptic Curve Digital Signature Algorithm (ECDSA) Secp256r1-Based Functions @custom:contract-name p256 diff --git a/src/snekmate/utils/signature_checker.vy b/src/snekmate/utils/signature_checker.vy index 0e7ed75a..7f976915 100644 --- a/src/snekmate/utils/signature_checker.vy +++ b/src/snekmate/utils/signature_checker.vy @@ -1,4 +1,4 @@ -# pragma version ~=0.4.0rc4 +# pragma version ~=0.4.0rc5 """ @title ECDSA and EIP-1271 Signature Verification Functions @custom:contract-name signature_checker diff --git a/test/tokens/ERC721.t.sol b/test/tokens/ERC721.t.sol index 1dcf5570..885b3068 100644 --- a/test/tokens/ERC721.t.sol +++ b/test/tokens/ERC721.t.sol @@ -1482,7 +1482,7 @@ contract ERC721Test is Test { */ vm.store( ERC721ExtendedAddr, - bytes32(uint256(18_446_744_073_709_551_628)), + bytes32(uint256(18_446_744_073_709_551_627)), bytes32(0) ); vm.expectRevert(bytes("erc721: token already minted")); @@ -1590,7 +1590,7 @@ contract ERC721Test is Test { */ vm.store( ERC721ExtendedAddr, - bytes32(uint256(18_446_744_073_709_551_628)), + bytes32(uint256(18_446_744_073_709_551_627)), bytes32(type(uint256).max) ); vm.prank(deployer); diff --git a/test/tokens/echidna/ERC20Properties.sol b/test/tokens/echidna/ERC20Properties.sol index def11fe3..865ffbf2 100644 --- a/test/tokens/echidna/ERC20Properties.sol +++ b/test/tokens/echidna/ERC20Properties.sol @@ -32,11 +32,18 @@ contract CryticERC20ExternalHarness is _NAME_EIP712, _VERSION_EIP712 ); + /** + * @dev `hevm` does not currently work with the EVM version `cancun`: + * https://github.com/ethereum/hevm/issues/469. For Echidna-based tests, + * we therefore use the EVM version `shanghai`. + */ token = ITokenMock( vyperDeployer.deployContract( "src/snekmate/tokens/mocks/", "erc20_mock", - args + args, + "shanghai", + true ) ); } diff --git a/test/tokens/echidna/ERC721Properties.sol b/test/tokens/echidna/ERC721Properties.sol index 61d277c2..c78515e0 100644 --- a/test/tokens/echidna/ERC721Properties.sol +++ b/test/tokens/echidna/ERC721Properties.sol @@ -31,11 +31,18 @@ contract CryticERC721ExternalHarness is _NAME_EIP712, _VERSION_EIP712 ); + /** + * @dev `hevm` does not currently work with the EVM version `cancun`: + * https://github.com/ethereum/hevm/issues/469. For Echidna-based tests, + * we therefore use the EVM version `shanghai`. + */ token = IERC721Internal( vyperDeployer.deployContract( "src/snekmate/tokens/mocks/", "erc721_mock", - args + args, + "shanghai", + true ) ); mockSafeReceiver = new MockReceiver(true); diff --git a/test/tokens/echidna/echidna-config.yaml b/test/tokens/echidna/echidna-config.yaml index eaf270c3..3e1b60f0 100644 --- a/test/tokens/echidna/echidna-config.yaml +++ b/test/tokens/echidna/echidna-config.yaml @@ -14,4 +14,4 @@ filterFunctions: # Configure the list of methods to filter. "VyperDeployer.deployContract(string,string,bytes,string,bool)", ] filterBlacklist: true # Blacklist methods in `filterFunctions`. - +cryticArgs: ["--ignore-compile"] # Disable compilation in `crytic-compile`. diff --git a/test/utils/Base64.t.sol b/test/utils/Base64.t.sol index facdce04..89b53fae 100644 --- a/test/utils/Base64.t.sol +++ b/test/utils/Base64.t.sol @@ -187,8 +187,8 @@ contract Base64Test is PRBTest { } function testDecodeSentence() public { - string memory text = "Snakes are great animals!"; - string memory data = "U25ha2VzIGFyZSBncmVhdCBhbmltYWxzIQ=="; + string memory text = "Long Live Vyper!"; + string memory data = "TG9uZyBMaXZlIFZ5cGVyIQ=="; bytes[] memory outputStd = base64.decode(data, false); bytes[] memory outputUrl = base64.decode(data, true); bytes memory returnDataStd = bytes.concat( @@ -197,10 +197,7 @@ contract Base64Test is PRBTest { outputStd[2], outputStd[3], outputStd[4], - outputStd[5], - outputStd[6], - outputStd[7], - outputStd[8] + outputStd[5] ); bytes memory returnDataUrl = bytes.concat( outputUrl[0], @@ -208,10 +205,7 @@ contract Base64Test is PRBTest { outputUrl[2], outputUrl[3], outputUrl[4], - outputUrl[5], - outputUrl[6], - outputUrl[7], - outputUrl[8] + outputUrl[5] ); /** * @dev We remove the two trailing zero bytes that stem from diff --git a/test/utils/MerkleProofVerification.t.sol b/test/utils/MerkleProofVerification.t.sol index d351f2dc..fb4fc90f 100644 --- a/test/utils/MerkleProofVerification.t.sol +++ b/test/utils/MerkleProofVerification.t.sol @@ -447,7 +447,7 @@ contract MerkleProofVerificationTest is Test { * https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-wprv-93r4-jj2p. * Note that 🐍 snekmate's implementation is not vulnerable by design, * as you cannot consume the out-of-bound `hashes` in Vyper. For further - * insights also, see the following Twitter thread: + * insights also, see the following X thread: * https://x.com/0xDACA/status/1669846430528286722. */ function testMaliciousMultiProofVerify() public {